【问题标题】:System.Runtime and Multiple assemblies with equivalent identity have been importedSystem.Runtime 和具有等效标识的多个程序集已被导入
【发布时间】:2016-12-09 11:47:31
【问题描述】:

我不知道如何解决这个问题。

已导入多个具有相同标识的程序集: 'D:\TfsBuild\Agents\Company.Framework\c57207ab\X\Y\DotNet\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll' 和 'C:\Program Files (x86)\Reference 程序集\Microsoft\Framework.NETFramework\v4.6.2\Facades\System.Runtime.dll'。 删除重复引用之一。

一旦我转到受影响的项目文件,我会发现一个对 System.Runtime.dll 的唯一引用:

<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <HintPath>..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
  <Private>True</Private>
</Reference>

发生了什么事?

【问题讨论】:

  • 我只发现我的开发机器和构建机器之间存在差异。我的开发机器有 VS2015 Update 3,而构建机器有 VS2015,根本没有更新。我正在我的构建机器上安装 U3,让我们看看会发生什么..
  • 您是否通过将构建机器升级到visual studio 2015 update3来解决问题,如果您解决了问题,请发布答案并将其标记为答案,这将对其他社区有所帮助。跨度>
  • @ColeWu-MSFT 当然。我想知道这是否是解决办法,但我今天不能去上班。明天知道有没有用! :)
  • @ColeWu-MSFT 是的!这就是问题所在,我添加了一个答案!

标签: c# .net visual-studio msbuild


【解决方案1】:

我在将代码提交到自动部署到 Azure 的 GitHub 时遇到此错误。我的情况的解决方案是添加以下 NuGet 包:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

无论出于何种原因,Azure 构建过程使用的过程与 Visual Studio 2017 使用的过程不同。因此,这个 hack 似乎可以解决这种差异。

【讨论】:

    【解决方案2】:

    希望问题是我的开发和构建机器之间的 Visual Studio 2015 版本不匹配。

    当我的开发机器成功构建整个解决方案时,我的 TFS 构建失败了。在深入研究了这个问题后,最后我发现我的开发机器有 Visual Studio 2015 Update 3,而构建机器有 Visual Studio 2015,根本没有更新。

    将我的构建机器更新到 Visual Studio 2015 解决了这个问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多