7

我正在尝试使用 Mono 2.10.9 在 OS X 10.7.4 上构建一个测试 MVC4 项目。我在 Visual Studio 中创建了一个新的空 MVC4 Web 应用程序,使用 git 将源代码从 Windows 传输到 Mac OS X。然后我运行 xbuild 以恢复 .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/Frameworks/Mono.framework/Versions/2.10.9/ lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets”不存在。(着迷)

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

4

4 回答 4

8

创建符号链接:

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

ln -s v9.0 v10.0

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

于 2013-01-07T07:56:18.017 回答
3

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

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
于 2012-05-31T14:10:28.340 回答
1

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

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

于 2012-05-14T23:33:47.393 回答
0

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

如果您使用的是标准 bash shell,则该.profile文件是放置它的地方:

export VSToolsPath=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/
于 2017-08-23T07:45:43.137 回答