如何解决Visual Studio和Xamarin Studio中2个mscorlib版本之间的冲突?

问题描述 投票:23回答:2

超过2天我一直试图修复此错误,但我没有成功。

这是错误:

无法解决“mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e”和“mscorlib”之间的冲突。任意选择“mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e”。

我搜索了它,很多人都有这个问题,但我找不到解决方案。

最后,我们如何找到解决这两个引用之间冲突的方法?

c# xamarin visual-studio-2015 xamarin-studio
2个回答
1
投票

我没有答案,但可以提供以下内容:

  1. 我有一个空白的Xamarin.Forms应用程序仅针对Android。我可以构建和部署这个没有任何错误。
  2. 我从Xamarin网站下载了一个Xamarin.Forms示例,只保留了Android版本。在这种情况下,我可以重建解决方案,没有任何错误;但是,当我尝试Start Without Debug时,我会收到您报告的确切错误。

从这些结果我收集以下内容:

  1. mscorlib版本之间的冲突与Visual Studio 17的配置无关,而与应用程序的配置无关。
  2. 您包含的第二个链接提到安装特定版本的newtonsoft.json。由于这是一个Nuget包,我认为问题在于这些包的特定版本。我的两个应用程序都使用相同的软件包,但调试过程可能不一定使用这些软件包的相同功能。

我希望这有帮助。


0
投票

尝试添加配置文件中的assemblyBinding部分。

您可以添加一个bindingRedirect来指示框架在请求任何一个程序集时加载哪个版本的程序集(使用更高版本号)。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="mscorlib" publicKeyToken="7cec85d7bea7798e" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.5.0" newVersion="2.0.5.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
© www.soinside.com 2019 - 2024. All rights reserved.