就像这个人一样,当我第一次创建 MVC 4 项目时,我没有为它创建单元测试项目。现在我想回去添加一个。
为此,我创建了一个新的单元测试项目。
现在,我右键单击我的一个控制器中的私有方法,选择 Create Unit Tests,然后弹出一个对话框断言:
单元测试生成错误:读取模块“My.Project”时遇到以下错误:无法解析类型引用:[System.Web.Mvc,版本 3.0.0.0,Culture=neutral,PublicKeyToken={why doesn't MS支持剪切和粘贴??}]System.Web.Mvc.AllowAnonymousAttribute。
AllowAnonymousAttribute 是 MVC 4 的新特性。为什么单元测试生成器试图解决 MVC 3 程序集呢?
My.Project 编译和运行得很好,AllowAnonymousAttribute 和所有,显然是在尊重 System.Web.Mvc,版本 4.0.0.0。
更新
MyMvc.csproj 包含
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\AspNetMvc.4.0.20126.16343\lib\net40\System.Web.Mvc.dll</HintPath>
</Reference>
HintPath 处的 DLL 确认为 4.0.0.0 版本
MyMvc.Test.csproj 包含
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />