更改冲突的程序集引用

时间:2016-03-14 12:41:52

标签: c# android xamarin reference

我的朋友给了我一个在Xamarin Studio中创建的项目。当我尝试运行项目时,我收到一些与冲突的程序集引用相关的警告。

我使用AsmSpy工具检查哪些引用存在冲突,并得到以下输出:

Detailing only conflicting assembly references.
Reference: Newtonsoft.Json
    6.0.0.0 by Akavache     <-- this one is Green
    6.0.0.0 by Akavache.Sqlite3     <-- this one is Green
    8.0.0.0 by MyAppName     <-- this one is Red

Reference: Splat
    1.6.0.0 by Akavache
    1.6.0.0 by Akavache.Sqlite3
    1.6.2.0 by MyAppName

我从未与Xamarin Studio合作过,而且我对这个主题缺乏一些了解。如何更改引用以停止此警告?

1 个答案:

答案 0 :(得分:2)

您应该可以使用程序集重定向来突破&#39;所有程序集都使用特定版本。

(您需要相应地更新名称,公钥和版本)

 <dependentAssembly>
        <assemblyIdentity name="Akavache" publicKeyToken="1234567890" culture="neutral" />
        <bindingRedirect oldVersion="1.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
      </dependentAssembly>

这些必须位于运行时节点中的* .config文件中;

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">