2015-01-06 4 views
6

次の手順でmy projectをコンパイルしようとしました。Linuxでxbuild '.NETPortable、Version = v4.0、Profile = Profile344'の問題を解決する

マイスクリプト;

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エンジンのバージョン12.0 モノ、バージョン3.2.8.0 著作権(C)2005から2013まで様々なモノ作者

ビルドは2015年1月6日午後06時31分01秒を開始しました。


プロジェクト "/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln"(デフォルトターゲット(S)): 対象ValidateSolutionConfiguration: ビルソリューションの構成 "デバッグ|どれ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" -source "" -RequireConsent -solutionDir "/home/ziyasal/gthb/InfluxDB.Net/" NuGetパッケージの復元... ビルド中にNuGetがパッケージをダウンロードしないようにするには、Visual Studioの[オプション]ダイアログを開き、パッケージマネージャノードをクリックし、[NuGetのダウンロードを許可する パッケージがありません '。 ターゲットPrepareForBuild: 設定:デバッグプラットフォーム:AnyCPU 作成されたディレクトリの "bin /デバッグ/" 作成されたディレクトリ "OBJ /デバッグ/" 対象GetReferenceAssemblyPaths: /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common .targets:warning:ターゲットフレームワークのモニカ「.NETPortable、Version = v4.0、Profile = Profile344」に対応するフレームワークを見つけることができません。 Framework ass emblyリファレンスはGACから解決されますが、これは意図した動作ではない可能性があります。 /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets:エラー:PCLリファレンスアセンブリがインストールされていません。 タスク "GetReferenceAssemblyPaths"実行 - FAILED プロジェクトの "GetReferenceAssemblyPaths"ビルドターゲットを完了する "/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj".- FAILED " タスク "MSBuild"実行 - FAILED プロジェクトのビルド "ビルド"/home/ziyasal/gthb/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj " InfluxDB.Net/InfluxDB.Net.sln".--は/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln".--」プロジェクトを構築完了 FAILED

ビルド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。ターゲット(GetReferenceAssemblyPathsターゲット) - >

/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ターゲット) - >

/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

答えて

12

最後に、私はこのための解決策(回避策)を発見しました。私のWinボックスからLinuxボックス(/usr/lib/mono/xbuild-frameworks/)から.NETPortable(C:¥Program Files(x86)¥Reference Assemblies¥Microsoft¥Framework.NETPortable)フォルダをコピーしました。

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 

これで今すぐコンパイルされます。

+0

PCLプロファイルをインストールしていないreferenceassemblies-pclについては、https://bugzilla.xamarin.com/にバグを報告できますか?私はリファレンスアセンブリ(pclに必要なものすべてをインストールする予定)が間違っている可能性があります。 –

+0

問題は何か分かります。 referenceassemblies-pclは、Microsoftがリリースしたものに基づいており、Visual Studioがインストールするもの(Mac上でMonoで利用可能なもの)ではありません。 referenceassemblies-pclには、使用しているプロファイルであるプロファイル344がありません。 –

+0

@MattWard JoはProfile344を含むreferenceassemblies-pclパッケージのアップデートをプッシュしました。 –

2

エラーメッセージには、ポータブルクラスライブラリリファレンスアセンブリがインストールされていないことを確認します。

Mono 3.10のそれ以降のバージョンを使用し、referenceassemblies-pclパッケージをインストールすることを検討します。 LinuxでMonoを使用する方法については、Mono websiteに関する詳細な説明があります。

http://www.mono-project.com/docs/getting-started/install/linux/

+0

referenceassemblies-pclパッケージをインストールしましたが、まだエラーが発生しています。 – ziyasal

関連する問題