【问题标题】:How to solve the "System.Tuple defined multiple times issue"?如何解决“System.Tuple 定义多次问题”?
【发布时间】:2013-05-11 04:09:28
【问题描述】:
我的项目目标是 WP 7.5 及更高版本,我使用 VS 2012 中的 Nuget 添加了一个包,名称为 Coding4fun(Controls)。
之后,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
应用程序运行正常,但如何解决此警告?
【问题讨论】:
标签:
c#
windows-phone-7
visual-studio-2012
nuget
【解决方案1】:
来自Compiler Warning (level 1) CS1685
当预定义的系统类型如System.Tuple 时会发生此错误
在两个程序集中找到。发生这种情况的一种方法是,如果您是
从两个不同的地方引用 mscorlib,例如尝试运行
.Net Framework 1.0 和 1.1 版本并排。
编译器将仅使用其中一个程序集的定义。
这个问题可能出现System.Tuple 是在两个不同的程序集中定义的。可能你的Coding4Fun.Toolkit.Controls.dll除了mscorlib.dll之外也有。
如果你想看他们两个,你可以检查他们;
但是如何解决这个警告呢?
您可以定义您的第 3 方程序集引用一些别名。你可以在你的项目中关注
Reference -> Properties -> Aliases ->
并将"global" 更改为不同的东西。
查看信息extern alias (C# Reference)