安装.NET 4.5后,以前的Unit-Test项目无法构建

时间:2013-01-30 13:57:25

标签: wpf .net-4.0 .net-4.5 icommand vs-unit-testing-framework

我有一个.NET 4.0 WPF解决方案,其中包含一个单元测试项目,用于测试视图模型中使用的不同命令。一切都很好。然后我安装了.NET framework 4.5,然后安装了VS2012,并开始收到错误消息,如 -

XYZProject.UsersViewModel_Accessor.AddUserToAccountsCommand' is not supported by the language

在安装VS2012之前,{ - 1}}是从 -

引用的

UnitTestFramework.dll

已更改为引用 -

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\

所以它从VS2012中获取了引用,我手动恢复了该引用。但没有运气。

C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v4.0AddUserToAccountsCommand对象,它位于.NET 4.0中的ICommand中,但位于.NET 4.5中的PresentationCore.dll中。所以我也检查了这些参考文献,它们似乎就像以前一样。

错误消息仅显示将测试目标创建为System.dll等访问者的位置,表示以下代码生成错误 -

UsersViewModel_Accessor

但是如果使用viewmodel类型直接创建测试目标,如下所示 -

UsersViewModel_Accessor target = new UsersViewModel_Accessor();
Assert.IsTrue(target.AddUserToAccountsCommand.CanExecute(null), "Failed to perform can exetuce of add user command");
target.AddUserToAccountsCommand.Execute(null);  

没有错误发生,项目构建成功。那么,有人可以分享任何想法吗?

编辑:开始收到错误后我还安装了VS2010 SP1。仍然没有运气。

EDIT2:在同一台机器上我也需要将VS2012用于其他项目,因此它不会是卸载.NET 4.5或VS2012的解决方案。只是为了检查,我把解决方案放在另一台机器上,这次只安装了.NET 4.5,而不是VS2012,并尝试构建项目。相同的故事。所以,这个问题与VS2012无关,它与.NET 4.0和.NET 4.5框架之间存在冲突。为了反映这一点,我正在改变问题的标题。

0 个答案:

没有答案