多个组件与Xamarin.iOS等效身份错误

问题描述 投票:7回答:3

我试图建立使用.NET标准2.0依赖一个Xamarin iOS应用。一这些依赖关系包括对System.Reflection.Emit 4.3.0 NuGet包的引用。这将导致生成错误时,iOS应用而建,作为与System.Reflection.Emit参考门面此DLL冲突:

CSC:错误CS1703:具有同等身份的多重组件已经被输入:C:\用户\ ndesl.nuget \包\ system.reflection.emit \ 4.3.0 \参考\ netstandard1.1 \ System.Reflection.Emit.dll“和 'C:\ Program Files文件(x86)的\微软的Visual Studio \ 2017年\专业\ Common7 \ IDE \ ReferenceAssemblies \微软\框架\ Xamarin.iOS \ 1.0 \外立面\ System.Reflection.Emit.dll'。删除重复的参考资料之一。

任何人都知道如何应对呢?如果不是那些组件识别为2个版本的同一总成的?

试图指定的app.config不利于绑定重定向。我使用Xamarin和VS2017的最新版本。

一个最小的项目表现出的问题可以在这里找到:https://github.com/nicodeslandes/ReflectionEmitBuildIssue

c# .net xamarin.ios .net-standard
3个回答
3
投票

转换您的iOS项目中的csproj文件,而不是packages.config使用PackageReference。查看DOTNET /公告GitHub的Issues with .NET Standard 2.0 with .NET Framework & NuGetUsing Xamarin Forms with .NET Standard – VS 2017 Edition以获取更多信息。


3
投票

注:我在Visual Studio中的MAC版本面临着同样的问题,但希望这将正常工作为你。

解决方案:花几个小时后,我找到了一个解决办法here回答没有。 2。

只需在以下路径删除System.Reflection.Emit.dll:

C:\ Program Files文件(x86)的\微软的Visual Studio \预览\企业\ Common7 \ IDE \ ReferenceAssemblies \微软\框架\ Xamarin.iOS \ 1.0 \外立面\ System.Reflection.Emit.dll


1
投票

我只是我的答案添加到列表中。什么解决这对我来说是消除在的csproj文件的提示路径。一旦我做到了一切建成并运行良好。

© www.soinside.com 2019 - 2024. All rights reserved.