我升级到最新的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在项目文件中完成的:
我只针对Android开发,使用的是Xamarin 4.2并使用JDK 8 u101。
不知道如何解决这个问题?
我在安装.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软件包,编译器错误消失了。所以我认为这种编译器错误的一般解决方案包括两个步骤:
我有一个类似的问题。
jenkins控制台输出中出现以下错误
Multiple assemblies with equivalent identity have been imported: 'C:\Program Files (x86)\Jenkins\jobs\...\lib\net461\System.ComponentModel.Annotations.dll' and 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\System.ComponentModel.Annotations.dll'.
Remove one of the duplicate references.
我在其中一个项目中删除了重复的引用,但它确实有效。