如何解决“System.Tuple多次定义问题”?

时间:2013-05-16 10:04:18

标签: c# windows-phone-7 visual-studio-2012 nuget

我在项目目标WP 7.5及更高版本上工作,我使用VS 2012中的Nuget添加了一个包,其名称为Coding4fun(控件)。

之后,IDE会给我一个警告,

  

警告1预定义类型“System.Tuple”定义为多个   全局别名中的程序集;使用定义   'c:\ Users \ Gao \ Documents \ Visual Studio   2012 \ Projects \ TFSGit \ xicihutong \ packages \ Coding4Fun.Toolkit.Controls.2.0.5 \ lib \ wp71 \ Coding4Fun.Toolkit.Controls.dll'C:\ Users \ Gao \ Documents \ Visual   Studio 2012 \ Projects \ TFSGit \ xicihutong \ xicihutong \ CSC xicihutong

该应用运行正常,但如何解决此警告?

2 个答案:

答案 0 :(得分:8)

来自Compiler Warning (level 1) CS1685

  

预定义的系统类型(例如System.Tuple)发生此错误   有两个组件。这种情况的一种方式就是你   从两个不同的地方引用mscorlib,例如尝试运行   the.Net Framework版本1.0和1.1并排。

     

编译器将仅使用其中一个程序集中的定义。

发生此问题可能System.Tuple在两个不同的程序集中定义。可能您的Coding4Fun.Toolkit.Controls.dll除了mscorlib.dll之外还有其他内容。

如果您想查看它们,可以查看它们;

  

但如何解决此警告?

您可以定义第三方程序集引用一些别名。您可以关注项目

Reference -> Properties -> Aliases ->

"global"更改为不同的内容。

查看信息extern alias (C# Reference)

答案 1 :(得分:1)

较新版本的c4f工具包解决了这个问题。