我们已经将我们的 MVC3 项目升级到在 VS2010 中运行的 MVC4,仍然针对 4.0 框架(还没有为 4.5 做好准备)。这一切在开发中都可以正常工作,但是在构建服务器上构建失败(遗憾的是使用 Jenkins/Hudson),并显示以下消息:
错误 MSB4019:找不到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets”。确认声明中的路径正确,并且该文件存在于磁盘上。
我在项目文件中查找了与此匹配的语句,但没有。csproj 中的第二行(如下)明确针对 v10.0:
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
我想第一个可能会以某种方式解析为 v11.0,但我不确定它来自哪里。该解决方案已在 VS 2012 中至少打开一次,所以我假设它在某处插入了一些东西,但不确定是什么。
在我的开发环境中,我重命名了 VS 2012 路径,并且仍然可以在 VS 2010 中加载和构建我的项目。