在OS X 10.7.4上的MonoDevelop中构建MVC4项目时缺少Webapplication.targets

时间:2012-05-13 21:47:17

标签: asp.net-mvc mono monodevelop

我正在尝试使用Mono 2.10.9在OS X 10.7.4上构建测试MVC4项目。我在Visual Studio中创建了一个新的空MVC4 Web应用程序,使用git将源代码从Windows传输到Mac OS X.然后我运行xbuild for .nuget包恢复,但是当我构建monodevelop时,我得到一个奇怪的错误:

  

/Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj:错误:/ Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications /Microsoft.WebApplication.targets:无法导入项目文件,它是由/Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj导入的:导入的项目:“/ Library / Frame /Mono.framework / Version / 10 .9 / lib / mono / xbuild / Microsoft / VisualStudio / v10.0 / WebApplications / Microsoft.WebApplication.targets“不存在。 (出神)

这意味着什么?当我在MonoDevelop中创建一个新的MVC项目并按下构建时,也会发生这种情况。有什么想法吗?

4 个答案:

答案 0 :(得分:8)

创建符号链接:

cd /usr/lib/mono/xbuild/Microsoft/VisualStudio/v9.0

ln -s v9.0 v10.0

我在两台不同的计算机上拥有完全相同的ubuntu 12.04发行版,并且无法弄清楚为什么mono会在一台计算机上而不是另一台计算机上编译。但是哦,好吧,符号链接解决了这个问题。

答案 1 :(得分:3)

将csproj文件更改为导入v9.0,因为......

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />

答案 2 :(得分:1)

Mono的MSBuild实现(xbuild)没有ASP.NET项目目标的实现。

您可以在MonoDevelop中构建。确保在MonoDevelop首选项中关闭了实验性xbuild集成。

答案 3 :(得分:0)

我知道这是一个老问题,但在搜索如何在OSX上使用WebApplications.targets时出现了问题,所以它仍然值得回答。使用当前版本的Mono(5.x),Webapplication.targets包含在内,所以现在你要做的就是设置VSToolsPath,一切都应该正常工作。

如果您使用的是标准bash shell,.profile文件就可以放置它:

export VSToolsPath=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/