如何调试:导入了具有同等身份的多个程序集?

时间:2016-11-16 18:01:40

标签: .net .net-4.0 asp.net-4.5

我刚刚将一个MVC项目从.NET 4.0升级到4.5,并且在尝试构建时遇到了一些错误。

我不知道从哪里开始调试这个,所以任何正确方向的指针都会受到赞赏。或者当然是解决方案。

  

多个装配   具有等效身份的导入:   'C:[PATH] \ packages \ Microsoft.Bcl.1.1.10 \ lib \ net40 \ System.IO.dll'和   'C:\ Program Files(x86)\ Reference   大会\微软\ Framework.NETFramework \ V4.5 \外立面\ System.IO.dll”。   删除其中一个重复的引用。 [项目名]   C:[路径] [PROJECTNAME] \ CSC

     

多个装配   具有等效身份的导入:   'C:[路径] \包\ Microsoft.Bcl.1.1.10 \ lib中\ net40 \ System.Runtime.dll'   和'C:\ Program Files(x86)\ Reference   大会\微软\ Framework.NETFramework \ V4.5 \外立面\ System.Runtime.dll”。   删除其中一个重复的引用。 [项目名]   C:[路径] [PROJECTNAME] \ CSC

     

多个装配   具有等效身份的导入:   'C:[路径] \包\ Microsoft.Bcl.1.1.10 \ lib中\ net40 \ System.Threading.Tasks.dll'   和'C:\ Program Files(x86)\ Reference   大会\微软\ Framework.NETFramework \ V4.5 \外立面\ System.Threading.Tasks.dll”。   删除其中一个重复的引用。 [项目名]   C:[路径] [PROJECTNAME] \ CSC

我尝试过什么

当我搜索错误时,这似乎常常与EF有关,因此我尝试将其卸载并更新到最新版本,但这并没有任何明显的效果。

我也尝试将一堆nuget包更新到最新版本,但同样,这似乎没有任何明显的效果。

我也尝试卸载Microsoft.Bcl,但它不会让我因为:

  

无法卸载'Microsoft.Bcl.1.1.10',因为   'Microsoft.Net.Http.2.2.29'取决于它。

最后,它似乎与this question有关,但那里没有答案,TBH甚至问题都在我头上!

更新

我读了this(建议卸载并重新安装Bcl软件包)。

我取消了Microsoft.Net.Http.2.2.29和bcl包。该项目已经建成,但在本地运行时,我得到了:

  

无法加载文件或程序集“System.Web.Helpers”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

所以我重新安装了它们。但现在我仍然收到相同的错误消息!

我安装了System-Web-Helpers.dll无效。

1 个答案:

答案 0 :(得分:1)

我一直在努力解决这个问题。 重新安装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>

您还需要重新安装它们。只有在重新安装程序包后,构建程序才能正常工作