私の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 /l
Microsoft.Build.Utilities.Core
DLLの明らかにインストールされているバージョンはV14であること:Microsoft.Build.Conversion.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL
ここに何かキーがありませんか?ビルドツール2017をインストールしても、実際にGACが更新されず、正しいDLLが登録されたようです。
DacFrameworkをインストールしましたか? –
私はあなたがTeamCityを使用していると思いますか? AFAIKはデフォルトの.NET Frameworkに含まれている4.0 msbuildを使用しています。これは現代のプロジェクトでは機能しません –
実際に竹 –