はじめに
Visual Studio 2017 + MSBuildでサンプルで作成したソリューションをビルドしようとしたところ以下のエラーになりました。
MSBUILD : error MSB1009: Project file does not exist
コマンドが間違っているのかと思い、slnファイルではなく、vcxprojを指定しても以下のエラーになりました。
MSB4019: インポートされたプロジェクト "C:\Microsoft.Cpp.Default.props" が見つかりませんでした。
宣言のパスが正しいかどうか、およびファイルがディスクに存在して
いるかどうかを確認してください。
- Windows Server 2016(1607)
- Visual Studio 2017(15.9.4)
エラーの原因
原因は、Visual Studio 2017をインストールした際、フルインストールしなかったため、MSBuildがインストールされていませんでした。
Visual Studio 2017環境の場合、以下のパスにMSBuildが存在します。検索して別の場所に見つかったのでインストールされているものと勘違いしていました。
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
MSBuildのインストール
MSBuildをインストールする場合は、以下のページからTools for Visual Studio 2017をダウンロードします。
visualstudio.microsoft.com
Tools for Visual Studio 2017のインストーラを起動して、Visual C++ Build Toolsにチェックを入れて、インストールします。
MSBuildでソリューションをビルドする
はじめにコマンドプロンプトで、MSBuildのパスを追加します。
set path=%path%;C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
以下のように、slnファイルを指定します。
msbuild C:\Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1.sln