ati*_*yar 19 wpf .net-4.0 icommand vs-unit-testing-framework .net-4.5
我有一个.NET 4.0 WPF解决方案,其中包含一个单元测试项目,用于测试视图模型中使用的不同命令.一切都很好.然后我安装了.NET framework 4.5然后安装了VS2012,并开始收到如下错误消息 -
XYZProject.UsersViewModel_Accessor.AddUserToAccountsCommand' is not supported by the language
在安装VS2012之前UnitTestFramework.dll,引用了 -
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
被改为引用 -
C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v4.0
所以它从VS2012中获取了引用,我手动恢复了该引用.但没有运气.
这AddUserToAccountsCommand是一个ICommand驻留在PresentationCore.dll.NET 4.0中的对象,但是System.dll在.NET 4.5中.所以我也检查了这些参考文献,它们似乎就像以前一样.
错误消息仅显示创建测试目标的位置,如Access,例如UsersViewModel_Accessor,表示以下代码生成错误 -
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);
Run Code Online (Sandbox Code Playgroud)
但如果使用viewmodel类型直接创建测试目标,如下所示 -
UsersViewModel target = new UsersViewModel();
Assert.IsTrue(target.AddUserToAccountsCommand.CanExecute(null), "Failed to perform can exetuce of add user command");
target.AddUserToAccountsCommand.Execute(null);
Run Code Online (Sandbox Code Playgroud)
没有错误发生,项目构建成功.那么,有人可以分享任何想法吗?
编辑:开始收到错误后我也安装了VS2010 SP1.仍然没有运气.
编辑2:在同一台机器上我也需要将VS2012用于其他项目,因此它不会是卸载.NET 4.5或VS2012的解决方案.只是为了检查,我把解决方案放在另一台机器上,这次只安装了.NET 4.5,而不是VS2012,并尝试构建项目.相同的故事.所以,问题与VS2012无关,它是.NET 4.0和.NET 4.5框架之间的冲突.为了反映这一点,我正在改变问题的标题.
小智 0
错误可能是什么的一种想法是不兼容。使用.Net 4.0,有时我总是会遇到这样的情况:当我用不兼容的东西编译代码时,它总是会失败。如果您寻找兼容版本,那就太好了。
通常,应支持 .Net 和 MSCV 库才能正常工作。
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |