2016-07-22 3 views
12

TeamCity/MSBuildを使用してソリューションを構築しようとしています。 これは、PCLの一部のエンティティをモバイルクライアントと共有するWebAPIプロジェクトです。エラーAPPX3212: 'Portable 7.0'のSDKルートフォルダが見つかりません

私はしかし、私は、ビルド時にエラーになってる私は ( Building Portable Class Library Project in build server fails

をソートしたと思うのbuildserverにインストールされているPCLリファレンスライブラリを、取得の周りにいくつかの注意点があります見

などのポータブルクラスライブラリは、次のとおりです。

[11:20:49][Doctrina.Pcl.Entities\Doctrina.Pcl.Entities.csproj] _GetSdkToolPaths [11:20:49][_GetSdkToolPaths] GetSdkPropertyValue *[11:20:49][GetSdkPropertyValue] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets(975, 5): error APPX3212: SDK root folder for 'Portable 7.0' cannot be located. See http://go.microsoft.com/fwlink/?prd=12560&pver=1.0&plcid=0x409&ar=MSDN&sar=PlatformMultiTargeting&o1=Portable&o2=7.0 for more information.*

「ヘルプ」リンクはどこにも便利行かないと、非常にグーグル耐性任意の解像度を見つけるという点であると思われます。

ビルドサーバーにはVisual Studio 2015がインストールされていませんが、PortableClassLibraryツールがインストールされています。ローカルPCから参照ディレクトリがコピーされています。

助けてください?

+0

OK。ビルドサーバーに "VS2015 Community Edition"をインストールすることでこのエラーを解決しました。そのため、VSインストールの一部であるXamarin-yがありますが、PCLツールではインストールされていません。誰でもそれが何であるか知っていますか? –

+1

VS2015 CEの音が極端に聞こえます。私は現時点で同じ問題が発生しています。管理していた人がいたらいいのに。 - 賞金を追加しました...多分これで今注目を集めるでしょう:) –

+0

あなたはこの答えをチェックしましたか?http://stackoverflow.com/a/19385710/1824367私は同様の問題を抱えていて、同様の方法で解決しました溶液。 – mattferderer

答えて

4

.NET標準を対象とするポータブルプロジェクトを作成しようとすると、このエラーが発生しました。

私は、Visual Studioがインストールされていないマシンからコピーして、私のビルドサーバーにVisual Studioをインストールしなくても、それを解決するために管理:

  • C:\プログラムファイル(x86の)は\マイクロソフトのSDKは、ポータブル\ \ v14.0
  • C:\プログラムファイル(x86の)\ MSBuildの\マイクロソフト\ポータブル
  • C:\プログラムファイル(x86の)\ ReferenceAssemblies \マイクロソフト\ Framework.NETPortable

私は後で構築しようとしましたa

  • します。C:\ Program Files(x86の)\ MSBuildの\ Microsoftに私は私の解決策にXProjファイルを追加するとすぐに、.NETのコア(これはxprojファイルだった)とをターゲットWEBAPIプロジェクトは、私はまた、コピーしなければなりませんでした\ VisualStudioをは\ v14.0過去ログ
  • \
  • C:\プログラムファイル(x86の)\ MSBuildの\マイクロソフト\ VisualStudioを\ v14.0はDotNet.Web \
  • 私を得た

は少しさらにそれはまた、他の原因プロジェクトを正しくビルドすることができません(ソリューション内のXProjファイルなしで正常に動作していました)。私が気付いたことの1つは、.NET Core用のNuGetツールは認証されたNuGetフィードをサポートしていないため、フィードで匿名アクセスを有効にする必要がありました。しかし今、私の.NET標準プロジェクトは、エラーMSB4057で失敗します:ターゲット "_GenerateDependencyFragmentJson"は、プロジェクトに存在しません。

私はまだこれを診断することに慣れていませんが、上記の情報が誰かに役立つことを願っています。 xprojファイルを使用せず、.NET Standardプロジェクトを使用しようとしている場合は、Visual Studioをインストールせずにビルドするだけで十分です。

私は、まず、Microsoft Build Tools 2015 Update 3をインストールしようとすると、必要なファイルを置くことを望んで、これらのファイルをコピーする必要がなくなりましたが、悲しいことではありませんでした。私はVS15で使用されている次期バージョンのMSBuildに期待を寄せています。ビルドツールパッケージには、このアイテムをビルドするために必要なものがすべて含まれていることが期待されます。 2015このツールをサポートするツールを作成します。

+0

私は同じ 'MSB4057を実行しています:ターゲット "_GenerateDependencyFragmentJson"がプロジェクトに存在しません。実際にこれを診断できましたか?これまで私がオンラインで見てきたが、まだテストしていない唯一の解決策は、VS2015をビルドサーバーに実際にインストールすることです。 –

+0

残念ながら、私はこの問題をさらに診断する時間がありませんでした。サーバーにVS2015をインストールするのを避ける方法があると確信していますが、MSBuildのターゲットを細かく櫛形にして、ビルドサーバー上に存在しないことがわかります手動でそこにコピーされます。それは私が私の答えで言及したものを見つける方法です。 –

関連する問題