Windows Server2016サーバーで.sqlprojSSDTプロジェクトの継続的インテグレーションをセットアップしようとしています。
これを行うために、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ファイルがVisualStudioを介して実行されたときに検出することを期待している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.
これで、コマンドを実行すると、次のことがわかりgacutil /l
ます。VS2017コマンドプロンプトで、インストールされていると思われるMicrosoft.Build.Utilities.Core
dllのバージョンがv14であることがわかります。Microsoft.Build.Conversion.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL
ここに何かキーがありませんか?ビルドツール2017をインストールしても、実際にはGACが更新されず、正しいDLLが登録されなかったようです。
.NET Framework(C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
)に含まれているmsbuild.exeは使用しないでください。これは古く、新しいmsbuildバージョンの一部の機能をサポートしていません。
VisualStudioまたはビルドツールとともにインストールされたバージョンのMSBuildを常に使用してください。インストールされているVSのバージョンによっては、
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
VS 2017以降、MSBuildもシステム全体にインストールされませんが、多くのバージョン(VS 2017プレビューバージョン、Build Tools / Enterprise / Communityなどのさまざまなエディション)を並べてインストールできるため、これらのMSBuildアセンブリをGACで見つけます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加