关于asp.net mvc:MvcSiteMapProvider.dll无法在Visual Studio 2013中运行

MvcSiteMapProvider.dll not working in Visual Studio 2013

我有一个在Visual Studio 2010中创建的MVC 2项目,它使用MVCSitemApprovider.dll,工作正常。但是在Visual Studio 2013中加载项目时,除了在

1
Html.MvcSiteMap().SiteMapPath

错误消息是

1
An exception of type 'MvcSiteMapProvider.MvcSiteMapException' occurred in MvcSiteMapProvider.dll but was not handled in user code

我相信MVCSitemApprovider.dll无法正确加载。我需要帮助。谢谢。


请注意,每个.NET框架版本都有一个单独的dll,我怀疑您的目标是错误的框架。如果将MvcSiteMapProvider安装到项目中,然后将其更改为其他.NET框架版本,则可能发生这种情况。

NuGet不会自动将包升级/降级到当前设置的框架版本。此步骤必须手动完成。最好的方法是根据本文档完全卸载并重新安装软件包。在尝试之前一定要阅读这个。

但请注意,如果这样做,NuGet将不会删除任何已更改的文件(如mvc.sitemap),然后提示是否覆盖它们。您通常应该对每个提示都说"否",以确保不会覆盖您的自定义配置。

另外请注意,在MvcSiteMapProvider中使用程序集绑定重定向是不够的,因为对于每个.NET Framework版本,我们都创建一个单独的构建(dll),利用以前版本中不存在的功能。