Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio VS2010中的单元测试3.5项目产生CS1685警告_Visual Studio_Unit Testing_Visual Studio 2010 - Fatal编程技术网

Visual studio VS2010中的单元测试3.5项目产生CS1685警告

Visual studio VS2010中的单元测试3.5项目产生CS1685警告,visual-studio,unit-testing,visual-studio-2010,Visual Studio,Unit Testing,Visual Studio 2010,我有一个针对.NET3.5的开发项目。我别无选择,因为大公司不会让我们瞄准4.0。我在VisualStudio2010中为解决方案添加了一个新的测试项目。我发现我只能针对测试项目中的4.0框架(这没关系,因为它没有部署) 一切都很好,只是我从测试项目中得到了编译器警告: 警告CS1685:在全局别名的多个程序集中定义了预定义类型“System.Action”;使用“c:\Program Files\Reference Assembly\Microsoft\Framework.NETFramewo

我有一个针对.NET3.5的开发项目。我别无选择,因为大公司不会让我们瞄准4.0。我在VisualStudio2010中为解决方案添加了一个新的测试项目。我发现我只能针对测试项目中的4.0框架(这没关系,因为它没有部署)

一切都很好,只是我从测试项目中得到了编译器警告:

警告CS1685:在全局别名的多个程序集中定义了预定义类型“System.Action”;使用“c:\Program Files\Reference Assembly\Microsoft\Framework.NETFramework\v4.0\System.Core.dll”中的定义


我从测试项目中删除了对System.Core的引用,警告仍在发生。我只能假设这是因为我正在测试的项目目标是3.5,所以有些东西被弄错了。在我们的应用程序中的target 4.0获得批准之前,是否有一种干净的方法来消除此警告?

听起来您正在使用MSTest作为单元测试框架。如果是这样的话,问题在于MSTest不支持VisualStudio2010中的向下定位。这意味着它将加载.Net程序集的4.0版本,即使您测试的项目目标是3.5。由于在此场景中加载的System.Core的多个版本,这会导致您看到的冲突


遗憾的是,除了将项目升级到4.0之外,没有办法解决这个问题

有什么方法可以抑制这个警告吗?我可以接受这种情况,直到我们升级,如果我们可以从列表中得到警告。它们将列表弄得乱七八糟,使我们很难识别我们应该处理的合法CA警告。@SonOfPirate您应该能够通过手动将
1685
元素添加到相关csproj文件中来抑制它们。为此,您需要手动编辑.csproj文件。