Webapplication.targets 在 OS X 10.7.4 上的 MonoDevelop 中构建 MVC4



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

/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/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets"不存在。(魔咒(

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

创建一个符号链接:

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

ln -s v9.0 v10.0

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

更改您的 csproj 文件以导入 v9.0,如下所示...

<Import Project="$(MSBuildExtensionsPath)MicrosoftVisualStudiov9.0WebApplicationsMicrosoft.WebApplication.targets" />

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

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

我知道

这是一个老问题,但是在搜索如何在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/

最新更新