4

我在项目目标 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

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

4

2 回答 2

8

Compiler Warning (level 1) CS1685

System.Tuple 当在两个程序集中找到预定义的系统类型时,会发生此错误。发生这种情况的一种方法是,如果您从两个不同的地方引用 mscorlib,例如尝试并排运行 .Net Framework 版本 1.0 和 1.1。

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

出现这个问题很可能System.Tuple是在两个不同的程序集中定义的。可能你的Coding4Fun.Toolkit.Controls.dll也有mscorlib.dll

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

但是如何解决这个警告呢?

您可以定义您的 3rd 方程序集引用一些别名。您可以在您的项目中关注

Reference -> Properties -> Aliases ->

并换成"global"不同的东西。

查看信息extern alias (C# Reference)

于 2013-05-16T10:37:05.087 回答
1

较新版本的 c4f 工具包已解决此问题。

于 2013-09-02T18:26:30.823 回答