2014-05-21 77 views
1

问题背景:由于VS2012,无法运行.NET 3.5单元测试项目?

我现在有两个项目。两者都是在Visual Studio 2012中构建的。两个项目都在各自的解决方案中都有一个单元测试项目。一个针对.NET 4框架,另一个针对.NET 3.5。

的问题:

这些项目都运行测试精细在VS。当我试图通过批处理文件,我得到了以下信息运行在命令行对MSTest.exe在.NET 3.5项目:

To be able to target your project to .NET Framework 3.5, you must use the steps 
documented at the following Microsoft Web site: http://go.microsoft.com/fwlink/ 
?LinkId=201405 

链接信息只是建议再针对项目.NET 3.5,但因为该项目已经针对.NET 3.5,我不明白这会有什么帮助!

我可以运行我的其他.NET 4目标项目通过批处理文件没有问题。

真正的问题,我有是:

1.我建立了我的VS2012的项目,将只运行单元测试设置为针对.NET框架4和最多?

2.如果我是 - 为了参数的缘故 - 从VS2008运行它,它会工作吗?

回答

0

4.0 +框架与VS 2012一起安装。如果您想使用.net 3.5和较低,您应该下载并安装它。

+0

所以作为标准,即使我将项目定位在.NET 3.5上,它也会在.NET 4中运行它,因为它是在VS2012中构建的? – user1352057

+0

如果仅在4.x框架中安装VS 2012,则全局程序集缓存(GAC)将放置在C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL中。 使用.NET 4.0构建项目时,所有共享程序集的路径都设置为此GAC。因此,如果您使用.NET 4.5.1 for .NET 4.0项目,那么它将运行良好,因为GAC的路径是相同的,并且应用程序将随时随地使用.NET 4. +访问它们。 但.NEt 3.5 GAC放置在C:\ Windows \ assembly \ 当您构建使用.Net 3.5创建的项目时,编译器会将路径更改为.NET 4的GAC。并且此应用程序仅在PC上运行.NET 4. + – QArea

相关问题