2017-11-22 11 views
0

私のWindowsサーバー2016サーバーに.sqlproj SSDTプロジェクトの継続的な統合を設定しようとしています。MSBuildを使用してVS2017でSSDTプロジェクトを作成できない

これを行うために、VS2017とSSDTツールをサーバーにインストールして、必要なツールを入手しました。私はまた、MSビルドツール2017をインストールしました。

私が現在持っている問題は、インストールされたmsビルドツールとssdtのミスマッチバージョンと思われるものです。次のように

私はビルドを実行するために使用していますコマンドは次のとおりです。

C:\\Windows\Microsoft.NET\\Framework64\\v4.0.30319\\MSBuild.exe /p:VisualStudioVersion=15.0 /property:MSBuildExtensionsPath="C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\MSBuild\\" /property:VsInstallRoot="C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\" DPAP-SQL-Slim.sln

2つのスイッチが.sqlprojファイルは、Visual介して実行時に見つけることを期待している2つの環境パラメータを設定することがあります渡さスタジオ。これは、MSBuildがデフォルトでそれらを提供しないために行われます。

次のように私は、現在取得していますエラーは次のとおりです。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets(477,5): error MSB4062: The "SqlModelResolutionTask" task could not be loaded from the assembly C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\IDE\Extensions\Microsoft\SQLDB\Dac\140\Microsoft.Data.Tools.Schema.Tasks.Sql.dll. Could not load file or assembly 'Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

さて、私はコマンドを実行しているから見ることができます:VS2017のコマンドプロンプトでgacutil /lMicrosoft.Build.Utilities.Core DLLの明らかにインストールされているバージョンはV14であること:Microsoft.Build.Conversion.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL

ここに何かキーがありませんか?ビルドツール2017をインストールしても、実際にGACが更新されず、正しいDLLが登録されたようです。

+0

DacFrameworkをインストールしましたか? –

+0

私はあなたがTeamCityを使用していると思いますか? AFAIKはデフォルトの.NET Frameworkに含まれている4.0 msbuildを使用しています。これは現代のプロジェクトでは機能しません –

+0

実際に竹 –

答えて

2

.NET Framework(C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe)に含まれているmsbuild.exeは使用しないでください。これは古く、新しいmsbuildバージョンのいくつかの機能をサポートしていません。

Visual StudioまたはビルドツールにインストールされているMSBuildのバージョンを使用してください。インストールVSのバージョンに応じて、これは

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe 

VS 2017年に開始し、MSBuildのもインストールされていないシステム全体が、多くのバージョン(例えばVS 2017のプレビューバージョン、ビルド・ツールなどの異なるエディション/エンタープライズ/コミュニティかもしれませんなど)を並べてインストールすることができます。そのため、GACでこれらのMSBuildアセンブリを見つけることができません。

+0

ありがとう!上記のエラーを解決したようだ。ビルドシステムの新しい変更に関する関連情報を見つけることは非常に難しいです。 –

+0

'プロジェクトファイルを読み込んでいます...'にぶら下がっているビルドSqlBuildプロセスに別の問題があります。これについて別の質問をするのが最善だろうと推測しています –

関連する問題