如何调试:已导入具有等效标识的多个程序集?
我刚刚将.NET 4.0中的MVC项目升级到4.5,并且在尝试构建时遇到了一些错误。如何调试:已导入具有等效标识的多个程序集?
我不知道从哪里开始调试,所以任何指针在正确的方向将不胜感激。或者当然是解决方案。
多个组件 具有等效身份已导入: 'C:[路径] \包\ Microsoft.Bcl.1.1.10 \ lib中\ net40 \ System.IO.dll' 和 “C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ Facades \ System.IO.dll'。 删除重复引用之一。 [项目] C:[路径] [PROJECTNAME] \ CSC
多个组件 具有等效身份已导入: “C:[路径] \包\ Microsoft.Bcl.1.1.10 \ lib中\ net40 \ System.Runtime.dll' 和'C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ Facades \ System.Runtime.dll'。 删除重复引用之一。 [项目] C:[路径] [PROJECTNAME] \ CSC
多个组件 具有等效身份已导入: “C:[路径] \包\ Microsoft.Bcl.1.1.10 \ lib中\ net40 \ System.Threading.Tasks.dll' 和'C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ Facades \ System.Threading.Tasks.dll'。 删除重复引用之一。 [项目] C:[路径] [项目] \ CSC
我已经试过
当我用Google搜索的错误,这似乎常常关于EF被提及,所以我尝试uniinstalling,并没有对最新版本,但没有任何明显的影响。
我也尝试更新一堆nuget软件包到最新版本,但再次,这似乎没有任何显着的效果。
我自己也尝试卸载Microsoft.Bcl,但它不会让我,因为:
无法卸载“Microsoft.Bcl.1.1.10”,因为 “Microsoft.Net.Http.2.2 .29'取决于它。
最后,它似乎与this question有关,但在那里没有答案,而且TBH甚至问题稍微凌驾于我的头上!
更新
我读this(建议卸载并重新安装的Bcl包)。
我unistalled Microsoft.Net.Http.2.2.29
和bcl包。该项目建成,但在本地运行时,我得到:
无法加载文件或程序集“System.Web.Helpers”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的例外:0x80131040)
所以我重新安装了它们。但现在我仍然收到相同的错误信息!
我安装了System-Web-Helpers.dll
没有任何效果。
我一直在为这一问题苦苦挣扎。 重新安装BCL NuGet包并没有帮助我得到了同样的错误
解决的办法是卸载项目打开的csproj文件,并用手除去引用(删除所有三个包):
<Reference Include="Microsoft.Threading.Tasks">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.14-rc\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
</Reference>
你还需要重新安装它们。此步骤仅在构建程序包重新安装后无效时才可用
您可能需要添加[绑定重定向](https://msdn.microsoft.com/en-us/library/eftw1fys(v = vs。 110).aspx)在System.Web.Helpers的web.config中。 –