警告MSB3276-奇怪的Mono.Cairo版本控制行为
本文关键字:Cairo 版本控制 Mono MSB3276- 警告 | 更新日期: 2023-09-27 18:27:19
我正在Windows上开发一个GTK#应用程序,使用Xamarin Studio 5.5.2和GTK#2.12。
每次编译应用程序时,都会收到MSB3276警告。在寻找解决方案时,我发现了这个StackOverflow线程:
警告MSB3276-发现同一依赖程序集的不同版本之间存在冲突
根据其他线程的指示,我使用AsmSpy来检查问题所在,我发现了一些非常奇怪的东西。我的应用程序指的是Mono的两个不同版本。开罗图书馆:
Reference: mscorlib
4.0.0.0 by ColorSharp
4.0.0.0 by MathNet.Numerics
4.0.0.0 by Newtonsoft.Json
4.0.0.0 by LightCreator
Reference: MathNet.Numerics
3.2.3.0 by ColorSharp
Reference: System.Numerics
4.0.0.0 by MathNet.Numerics
4.0.0.0 by Newtonsoft.Json
Reference: System
4.0.0.0 by MathNet.Numerics
4.0.0.0 by Newtonsoft.Json
4.0.0.0 by LightCreator
Reference: System.Core
4.0.0.0 by MathNet.Numerics
4.0.0.0 by Newtonsoft.Json
Reference: System.Data
4.0.0.0 by Newtonsoft.Json
Reference: System.Xml
4.0.0.0 by Newtonsoft.Json
Reference: System.Xml.Linq
4.0.0.0 by Newtonsoft.Json
Reference: System.Runtime.Serialization
4.0.0.0 by Newtonsoft.Json
Reference: gtk-sharp
2.12.0.0 by LightCreator
Reference: ColorSharp
0.2.1.20880 by LightCreator
Reference: gdk-sharp
2.12.0.0 by LightCreator
Reference: Mono.Cairo
4.0.0.0 by LightCreator // !!!!
2.0.0.0 by LightCreator // !!!!
Reference: Mono.Posix
2.0.0.0 by LightCreator
Reference: glib-sharp
2.12.0.0 by LightCreator
我一直在寻找解决方案,查看解决方案和项目属性、参考资料。。。但我什么也找不到。
有人知道如何解决这个奇怪的问题吗?
提前谢谢。
我也遇到了这个问题。事实证明,gtk-sharp.dll和您在gtk#周围使用的其他程序集都是通过引用Mono.Cairo 2.0.0.0编译的,所以当您在项目中引用它们时,编译器也会提取这些引用。
这一点很奇怪,因为windows的GTK#在一段时间内没有发货Mono.Cairo 2.0.0.0。希望Xamarin能在新版本中解决这个问题。我目前正在使用GTK#2.12.38。