Xamarin PureSocketCluster多个程序集

时间:2018-11-21 15:35:04

标签: c# ios visual-studio xamarin

将包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的通信是否正常。

enter image description here

我正在使用Visual Studio 2017 for Mac 7.6.11。 我是VS的新手,所以如果我犯了一个愚蠢的初学者错误,请不要杀了我。

1 个答案:

答案 0 :(得分:1)

解决此问题的方法是将其添加到iOS项目文件中。

<PackageReference Include="System.Reflection.Emit">
  <Version>4.3.0</Version>
  <ExcludeAssets>all</ExcludeAssets>
</PackageReference>

当然,您需要确保先将nuget包添加到iOS包中。 这是您可以参考的similar issue