我尝试按照以下说明编译my project,因此我收到了以下错误。
我的剧本;
sudo apt-get install mono-complete
mozroots --import --sync
mkdir gthb
cd gthb/
git clone https://github.com/ziyasal/InfluxDB.Net.git
cd InfluxDB.Net/
mono .nuget/NuGet.exe install NUnit.Runners
mono .nuget/NuGet.exe restore InfluxDB.Net.sln
xbuild
输出;
XBuild Engine版本12.0 单声道,版本3.2.8.0 版权所有(C)2005-2013各种单声道作者
Build build 01/06/2015 18:31:01。
项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln”(默认目标): 目标ValidateSolutionConfiguration: 构建解决方案配置“Debug | Any CPU”。 目标构建: 项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj”(默认目标): 目标RestorePackages: 执行:mono --runtime = v4.0.30319“/home/ziyasal/gthb/InfluxDB.Net/.nuget/NuGet.exe”install“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/packages.config” -资源 “”-RequireConsent -solutionDir“/home/ziyasal/gthb/InfluxDB.Net/” 恢复NuGet包...... 要防止NuGet在构建期间下载包,请打开“Visual Studio选项”对话框,单击“包管理器”节点并取消选中“允许NuGet下载” 缺少包裹'。 目标PrepareForBuild: 配置:调试平台:AnyCPU 创建目录“bin / Debug /” 创建目录“obj / Debug /” 目标GetReferenceAssemblyPaths: /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets:警告:无法找到与目标框架名字对象'.NETPortable,Version = v4.0,Profile = Profile344'对应的框架。框架屁股 将从GAC解决embly引用,这可能不是预期的行为。 /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets:错误:未安装PCL参考装配。 任务“GetReferenceAssemblyPaths”执行 - 失败 在项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj"./ FAILED中完成构建目标”GetReferenceAssemblyPaths“ 完成建筑项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj".-- FAILED 任务“MSBuild”执行 - 失败 在项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln".-- FAILED中完成构建目标”构建“ 完成建筑项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln".-- FAILED
构建失败。
警告:
/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln(默认目标) - > (构建目标) - > /home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj(默认目标) - > /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets(GetReferenceAssemblyPaths target) - >
/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets: warning : Unable to find framework corresponding to the target framework moniker '.NETPortable,Version=v4.0,Profile=Profile344'. Frame
工作程序集引用将从GAC解析,这可能不是预期的行为。
错误:
/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln(默认目标) - > (构建目标) - > /home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj(默认目标) - > /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets(GetReferenceAssemblyPaths target) - >
/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets: error : PCL Reference Assemblies not installed.
1 Warning(s)
1 Error(s)
时间流逝00:00:03.8459340
答案 0 :(得分:12)
最后,我找到了解决方案(解决方法)。我将我的Win框中的.NETPortable( C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable )文件夹复制到Linux框( / usr / lib / mono / xbuild -frameworks / 强>)。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys
A7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee
/etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel
sudo apt-get install mono-complete
sudo apt-get install referenceassemblies-pcl
#Import the root certificates using the mozroots tool
mozroots --import --sync
#UPDATE: referenceassemblies-pcl package installs required profiles!
#####DEPRECATED#######
#I uploaded .NET Portable folder to temporary place.
#sudo apt-get install p7zip-full
#wget https://dl.dropboxusercontent.com/u/33940399/NETPortable.7z
#Override existing
#sudo 7z x NETPortable.7z -o/usr/lib/mono/xbuild-frameworks/ -aoa
#####DEPRECATED#######
mono .nuget/NuGet.exe restore InfluxDB.Net.sln
xbuild
mono packages/NUnit.Runners.2.6.4/tools/nunit-console.exe
InfluxDB.Net.Tests/bin/Debug/InfluxDB.Net.Tests.dll
现在汇编得很好!
答案 1 :(得分:2)
错误消息表明您没有安装可移植类库引用程序集。
我会考虑使用更高版本的Mono 3.10并安装referenceassemblies-pcl包。关于在Linux上使用Mono,Mono website有更详细的说明。
http://www.mono-project.com/docs/getting-started/install/linux/