将包PureSocketCluster
版本3.1.0添加到我的Xamarin项目后,编译时出现以下错误:
.../Projects/HelloWorld/HelloWorld.iOS/CSC: Error CS1703: Multiple assemblies with equivalent identity have been imported: '.../.nuget/packages/system.reflection.emit/4.3.0/ref/netstandard1.1/System.Reflection.Emit.dll' and '/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.dll'. Remove one of the duplicate references. (CS1703) (HelloWorld.iOS)
在安装过程中,我观察到以下警告:
Detected package downgrade: Xamarin.Forms from 3.4.0.1008975 to 3.1.0.697729. Reference the package directly from the project to select a different version. HelloWorld.iOS (>= 1.0.0) -> HelloWorld (>= 1.0.0) -> Xamarin.Forms (>= 3.4.0.1008975) HelloWorld.iOS (>= 1.0.0) -> Xamarin.Forms (>= 3.1.0.697729)
这是一个非常基本的Hello World项目,我只想检查与基于socketcluster的websocket的通信是否正常。
我正在使用Visual Studio 2017 for Mac 7.6.11。 我是VS的新手,所以如果我犯了一个愚蠢的初学者错误,请不要杀了我。
答案 0 :(得分:1)
解决此问题的方法是将其添加到iOS项目文件中。
<PackageReference Include="System.Reflection.Emit">
<Version>4.3.0</Version>
<ExcludeAssets>all</ExcludeAssets>
</PackageReference>
当然,您需要确保先将nuget包添加到iOS包中。 这是您可以参考的similar issue。