2017-10-23 1 views
1

のVisual Studio用のSQL Serverデータツール(SSDT)のインストールを、我々はヘッドレスはSQL Serverデータツールのインストールを必要とするには、Visual Studioのために2017年ヘッドレスビルドサーバーの場合は2017

当社の構築サーバーは、すでにビルドツール」を持っていますfor Visual Studio 2017 "を使用して、ヘッドレスビルドをサポートしています。私は、「Visual Studioの2017年のためのビルドツール」によってインストールされたコンポーネントのセットを変更しようとした、

[MSBuild] src\Database\Upfront.Database.sqlproj: Build default targets [10:27:46][src\Database\Upfront.Database.sqlproj] E:\BuildAgent\work\7769fbf76d8b9008\src\Database\Upfront.Database.sqlproj(56, 3): error MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

まず、ないSSDTのコンポーネントは、に表示されません。しかし、SSDTのプロジェクトと任意のソリューションは、例えば、欠落しているのMSBuildターゲットに起因する失敗します利用可能である。

第2に、「Build Tools for VS 2017」プロファイルに正しくインストールされていなかったSSDT for Visual Studio 2017をインストールしようとしました。それは私が新しいVS 2017プロファイル、例えばSQLを作成することを可能にするので、必要なMSBuildファイルはC:\Program Files (x86)\Microsoft Visual Studio\2017\SQL\の下にインストールされます。しかし、 "Build Tools for VS 2017"ファイル(これはC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildToolsにあります)が見つからないように、私のmsbuild環境変数を変更して、C#プロジェクトがビルド不能になってしまいます。

「SSDT for Visual Studio 2017」と「Visual Studio 2017用ビルドツール」は互換性がないようです。誰もが一緒に働くことができましたか?または、誰もビルドサーバーでSSDTプロジェクトを構築するためのよりよい方法を見つけましたか?

SSDTは非常に優れていますが、毎回苦労しているサーバーの構築をサポートしています。

答えて

3

この正確なシナリオでは、ssdtデータベースプロジェクトの構築がナゲットパッケージとして利用可能になりました。

https://blogs.msdn.microsoft.com/ssdt/2016/08/22/part-5-use-your-own-build-and-deployment-agent/

それの要点は、あなたがnugetパッケージをダウンロードすることで、どこかでそれを抽出し、その後のカップルを設定します。

この

はSSDTデータベースプロジェクトのビルドサーバーを設定する方法に関するすべての詳細を持っています環境変数はパッケージの内容を指し示すため、ビジュアルスタジオを使用せずにビルドを行っても問題ありません。

エド

+0

このブログの投稿は、VS Build Tools 2017とSSDTプロジェクトを手伝ってくれました。チャームのように働いた。 – Vanja

0

私は、これは、Visual Studio 2017用のビルドツール(または単に最初からそれを避けるため)除去することにより、仕事を得ることができたとSQL ServerデータツールでフルのVisual Studioをインストールします。

次に、MSBuildをビルドサーバーのフルインストールから参照するだけです。

TeamCityを使用すると、ビルドエージェントを再起動した後、MSBuildの正しいVSパスを参照しました。

0

SQLDBExtensionsRefPathという環境変数を、ビルドプロセスが実行されているシステムまたはユーザーに設定できます。だからあなたのビルドサーバー上で、あなたはそれでもどこでもポイントSQLDBExtensionsRefPath SSDTをインストールすることができますが、あなたの開発環境はVisual StudioにインストールさSSDTを使用し続けます

<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" /> 
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" /> 

:あなたの.sqlprojファイルがすでに行が含まれている必要があります。

私はどちらかVS2017ビルドツールと統合するためにVS2017のためのSSDTを取得できませんでしたが、あなたはまだオプション「のVisual Studio 2017インスタンスのインストール新しいSQL Serverデータツール」を使用してサーバーにインストールすることができます。インストールが最後に停止することがあります(少なくとも15.4プレビューの場合は実行されますが、それでも動作します)。 SQLDBExtensionsRefPathを「C:¥Program Files(x86)¥Microsoft Visual Studio¥2017¥SQL¥MSBuild¥Microsoft¥VisualStudio¥v15.0¥SSDT」に設定することができます。または、以前のバージョンのSSDTがすでにインストールされている場合は、そのパスを使用してVS2017のSSDTを完全に避けることができます。

関連する問題