无法在.NET 4 MVC 4应用程序中加载文件或程序集System,Version = 2.0.5.0

一直在寻找年龄,找不到任何有用的东西。 这是我得到的例外:

Could not load file or assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047) Exception Details: System.IO.FileLoadException: Could not load file or assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047) Stack Trace: [FileLoadException: Could not load file or assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)] StructureMap.Graph.PluginGraph..ctor() in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\Graph\PluginGraph.cs:41 StructureMap.PluginGraphBuilder..ctor() in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\PluginGraphBuilder.cs:22 StructureMap.InitializationExpression..ctor() in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\InitializationExpression.cs:22 StructureMap.ObjectFactory.Initialize(Action`1 action) in c:\BuildAgent\work\996e173a8ceccdca\src\StructureMap\ObjectFactory.cs:47 ... 

此应用程序在测试服务器上正常工作,但在生产服务器上抛出此exception。 如您所见,StructureMap代码是导致exception的原因。

我不得不将此应用程序从4.5转换为.NET 4,因为生产服务器上没有安装4.5。 转换后,应用程序仍可在我的本地计算机和测试服务器上正常运行。

我已经为系统程序集设置了Copy Local to True,但由于引用的版本是4.0.0.0而不是2.0.5.0,所以我没有区别。

如果需要更多信息,请告诉我。 您可能提供的任何帮助表示赞赏。

确保修补了.NET框架。 Microsoft向.NET发布了补丁程序,以允许可移植类库正确地找到适当的运行时( KB2468871 )。 如果您看到上述exception(或类似内容),则表示您缺少最新的.NET框架补丁。

编辑web.config文件以删除引用,这不是正常操作所必需的:

1 – 打开站点根目录中的web.config文件

2 – 找到以下行并将其注释掉():xxxxx-是您的程序集名称。

  

3 – 保存并关闭web.config文件,然后重试

我发现给我带来麻烦的是“等待”和“异步”。

我只使用.NET 4.0的Windows XP SP3,但不得不使用KB2600211将其更新为.NET 4.0.3 – 当.NET 4.0.3出现时,由于计算机处于离网状态,因此未通过Windows Update自动更新。

这是更新的链接:

https://www.microsoft.com/en-us/download/details.aspx?id=29053

我只想在这里分享另一个解决了我的开发机器上的问题的解决方案:安装Silverlight 5 SDK (在写这篇文章时只有11.2MB)足以让一切正常。

从以下链接安装Microsoft®Silverlight®5SDK。 它结算并且对我来说很好。

SDK下载