6

我正在尝试使用 Mono / xbuild 在 Ubuntu 上构建我的 SLN

我开始收到与缺少 webapplication.targets 相关的错误,并认为我已经通过在 OS X 10.7.4 上的 MonoDevelop 中构建 MVC4 项目时添加一个 simlink 来解决这个问题

但是现在我收到与以下相关的错误:错误:初始化任务错误错误:无法加载文件或程序集“Microsoft.Build.Tasks.v4.0”或其依赖项之一。

我需要采取什么特殊步骤来完成这项工作吗?我需要特定版本的 Mono 吗?

[更新]

看来这是 Nuget 步骤的问题:

azureuser@scratchpad:~/test-api/src/Model$ xbuild Model.csproj
XBuild Engine Version 12.0
Mono, Version 3.2.8.0
Copyright (C) 2005-2013 Various Mono authors

Build started 8/4/2014 11:29:09 AM.
__________________________________________________
Project "/home/azureuser/test-api/src/Model/Model.csproj" (default target(s)):
        Target EnsureNuGetPackageBuildImports:
: error : Error initializing task Error: Could not load file or assembly 'Microsoft.Build.Tasks.v4.0' or one of its dependencies. The system cannot find the file specif
ied.
        Task "Error" execution -- FAILED
        Done building target "EnsureNuGetPackageBuildImports" in project "/home/azureuser/test-api/src/Model/Model.csproj".-- FAILED
        Target _RecordCleanFile:
: error : Error initializing task ReadLinesFromFile: Could not load file or assembly 'Microsoft.Build.Tasks.v4.0' or one of its dependencies. The system cannot find the
 file specified.
        Task "ReadLinesFromFile" execution -- FAILED
        Done building target "_RecordCleanFile" in project "/home/azureuser/test-api/src/Model/Model.csproj".-- FAILED
Done building project "/home/azureuser/test-api/src/Model/Model.csproj".-- FAILED

Build FAILED.
Errors:

/home/azureuser/test-api/src/Model/Model.csproj (default targets) ->
(EnsureNuGetPackageBuildImports target) ->

        : error : Error initializing task Error: Could not load file or assembly 'Microsoft.Build.Tasks.v4.0' or one of its dependencies. The system cannot find the fil
e specified.

/home/azureuser/test-api/src/Model/Model.csproj (default targets) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (_RecordCleanFile target) ->

        : error : Error initializing task ReadLinesFromFile: Could not load file or assembly 'Microsoft.Build.Tasks.v4.0' or one of its dependencies. The system cannot
find the file specified.

         0 Warning(s)
         2 Error(s)

Time Elapsed 00:00:00.3989900
4

1 回答 1

12

我在 Debian Jessie 上遇到了同样的问题。knocte的“提示”是正确的。3.2.8版本的mono不够用。我按照单项目网站上的说明安装了最新版本, 并且可以正常工作。

所以我做了:

#add the Mono Project GPG signing key as trusted
apt-key adv --keyserver pgp.mit.edu --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

#add their pacages repository to apt sources
echo "deb http://download.mono-project.com/repo/debian wheezy main" > /etc/apt/sources.list.d/mono-xamarin.list

#refresh package list
apt-get update

#install newer mono & friends
apt-get install mono-devel

然后,我之前失败的 xbuild 工作了。

mono --version
    3.10.0 
xbuild /version 
   XBuild Engine Version 12.0
于 2014-11-21T12:16:23.070 回答