2017-11-16 24 views
1

.net 4.7.1 Webソリューションに.net標準2.0クラスライブラリがあります。TFS2015で構築する.net標準2.0プロジェクトを取得するには

ソリューションをローカルに構築するのは問題ありませんが、TFSサーバーがソリューションをビルドするときに.net 2.0標準ライブラリをコンパイルできません。コンパイル中にクラッシュし、system.objectなどが定義またはインポートされていないと不平を言う。

これは古いtfsbuild.projスタイルのxmlファイルを実行するTFS 2015です。 ビルドサーバーは、.net 4.7.1、最新の.netコア2.0.3、最新のビジュアルスタジオ、最新のビルドツールで最新のものです。

クラッシュする.net標準2.0プロジェクトをコンパイルするためにcsc.exeコマンドを生成することがわかります。私が単に "ドットネットビルド"を実行していただけでもうまくいきます。

ビルドのログを見るVSまたは "dotnet build"で実行しているときのCoreCompileのステップには、.net標準2ライブラリへの参照を持つ "References"タスクパラメータが含まれていることがわかります。ビルドサーバがビルドを実行しているときに、このタスクパラメータがCoreCompileステップにありません。

誰かが.net標準2.0プロジェクトを正常にコンパイルするために、tfsサーバー上でmsbuildを入手する方法を提案していますか?

msbuildに必要な "References"タスクパラメータを生成させることができますか?

.net標準プロジェクトの自動ビルドを無効にし、dotnetビルドで必要な参照が正しく識別されるため、代わりに "dotnet build"をビルドステップとしてすべてを手動で実行しようとするのが最善の方法ですか?

+0

MSBuild-centricビルドシステムは7年以上前に廃止されました。おそらく、ビルドプロセスのアップグレードに投資する必要があります。 –

+0

あなたはTFS2015でどのビルドシステムを使用していますか?古いXAMLビルドまたは新しいvNextビルドですか? –

答えて

2

VS2015 MSBuildツールを使用して.NET Standard 2.0プロジェクトを含むソリューションを構築しようとしているようです。

.NETチームは、Visual Studioの リリース2017年

サポートと一緒に新しい.NET Coreおよび.NET標準のプロジェクトのために(最初の hereを発表しました)プロジェクトファイル構造を変更.NET Core/StandardのビルドにはTFS 2017 Update 2アップデートが付属していました。現在のアップデートで

.NETのコアタスク支援プロジェクトファイル

、我々はproject.jsonに加えて*.csprojファイルをサポートするために、.NETのコア業務を強化しています。 スタジオ2017をビルドエージェントで使用して、 csprojファイルを使用して.NETコアアプリケーションをビルドできるようになりました。

はこの問題を回避するには、TFS 2015のビルドタスクMSBUILDとVisual Studioのビルドを使用してのあきらめしよう、と今コマンドラインステップを使用することができます。一般に、コマンドラインでタスクを実行できる場合は、TFS/VSTSでも実行できます。詳細な手順は、このブログを参照してください。Building .NET Core and .NET Standard Projects in TFS 2015

+0

私たちは古いtfsbuildタスクを実行しており、msbuildタスクは実行していません。 Visual Studio 2017では、古いbuildprocesstemplateをクラッシュせずに編集することができなくなりました。古いtfsbuild.projスタイルから私たちの全体のビルドプロセスを書き直すことは、残念ながら私は現時点では時間を取ることができません。私はいくつかのテストを行い、あなたが実際に動作することを示唆したようにmsbuildを呼び出すことに気づいたが、最終的には、tfsソリューションビルドから踏み出して、他の多くの問題を引き起こしたまたは私たち。これを答えにしてください。 TY。 – Bub

関連する問題