错误CS1703:已导入具有等效标识的多个程序集 - Xamarin + VSTS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误CS1703:已导入具有等效标识的多个程序集 - Xamarin + VSTS相关的知识,希望对你有一定的参考价值。

我升级到最新的Xamarin for Visual Studio 2015(社区版),重新编译我的项目,检查了一些小的代码更改,我的VSTS构建服务器失败并显示以下错误消息:

[错误] CSC(0,0):错误CS1703:导入了具有等效标识的多个程序集:'C: Program Files(x86) Reference Assemblies Microsoft Framework Monoandroid v1.0 mscorlib.dll'和'C: WINDOWS Microsoft.NET 框架 v4.0.30319 mscorlib.dll中'。删除其中一个重复的引用。

互联网搜索通常几乎不会返回有关此问题的详细信息,并且在VSTS和Xamarin的上下文中根本没有任何有价值的信息。

我认为唯一与该问题相关的代码更改是由Visual Studio在项目文件中完成的:

enter image description here

我只针对Android开发,使用的是Xamarin 4.2并使用JDK 8 u101。

不知道如何解决这个问题?

答案

我刚刚解决了这个问题。尝试从解决方案本身的References文件夹中删除mscorlib.dll。请参阅下面突出显示的文件夹(参考文件夹)。似乎Xamarin在构建期间默认包含mscorlib.dll。希望能帮助到你 :)

enter image description here

另一答案

我在安装.net核心nuget时出错,它显式安装了所有System。*库。原来我的Microsoft.Net.Compilers包需要升级,然后这个错误就消失了。

另一答案

.csproj进行了以下更改,其中有诀窍:

   <PackageReference Include="System.Reflection.Emit">
      <Version>4.3.0</Version>
      <ExcludeAssets>All</ExcludeAssets>
      <IncludeAssets>none</IncludeAssets>
    </PackageReference>
另一答案

我通过将7.1更改为6.0来修复此问题,并且编译再次开始工作。该问题仅出现在我的编译代理上:

另一答案

在我的情况下,我在其中一个引用的项目中有一个包引用“Microsoft.NETCore.Portable.Compatibility”。我删除了它,Android和ios项目成功构建。

另一答案

我更新了所有Microsoft软件包,编译器错误消失了。所以我认为这种编译器错误的一般解决方案包括两个步骤:

  1. 升级涉及的NuGet包;
  2. 如果第1步不够,请升级所有Microsoft NuGet软件包。
另一答案

我有一个类似的问题。

jenkins控制台输出中出现以下错误

Multiple assemblies with equivalent identity have been imported: 'C:Program Files (x86)Jenkinsjobs...lib
et461System.ComponentModel.Annotations.dll' and 'C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.7.2FacadesSystem.ComponentModel.Annotations.dll'. 
Remove one of the duplicate references.

我在其中一个项目中删除了重复的引用,但它确实有效。

以上是关于错误CS1703:已导入具有等效标识的多个程序集 - Xamarin + VSTS的主要内容,如果未能解决你的问题,请参考以下文章

“程序集相同的简单名称已被导入”错误

VSTO:无法安装此应用程序,因为已安装具有相同标识的应用程序

ASP.NET 标识 - 不支持每种类型的多个对象集

找到具有给定标识符的多个行

休眠错误:具有相同标识符值的不同对象已与会话关联

具有相同标识符值的不同对象已与保存时的会话错误相关联[重复]