2017-03-21 5 views
3

dotnet msbuildハイブリッド過去ログコア/ .NET FrameworkのSLNディレクトリからMSBuildの

でビルドし

を機能するソリューションディレクトリから

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

に動作します私はVS 2017があることをしたくありませんビルドマシンにインストールされたので、私はhttps://www.visualstudio.com/downloads/から "Visual Studio 2017用ビルドツール"をインストールしました。エラーとSLN内のすべての単一のプロジェクトに

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

爆弾アウト:真実で

error MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

- それはディスク上に存在しません。それだけで

CでVSサブフォルダに存在する:\プログラムファイル(x86の)私は手動で.NET 4.6 SDK、.NETをインストールしようとした2017 \エンタープライズ\ MSBuildの\ SDKの

\ \のMicrosoft Visual StudioのCore 1.0 SDK、および.NET Core 1.0.1 SDK(x86およびx64バージョン)をサポートします。

MSBuildが正しく機能するようにする方法はありますか、それともそれほど壊れにくいのですか?

答えて

1

dotnet core installからmsbuild toolsのインストールディレクトリにsdksフォルダをコピーします。

0

ビルドツールインストーラは、現在.NET Coreワークロードをサポートしていません。現時点では、ビルドマシンにVisual Studioをインストールする必要があります(または、注記のとおり、.NET Core SDKをインストールしてmsbuild.exeの代わりにdotnet msbuildを呼び出す必要があります)。

この問題は、MSBuildのGitHubリポジトリ:https://github.com/Microsoft/msbuild/issues/1697で追跡されます。

+0

もう1つの方法は、dotnet core installからmsbuildツールinstallにsdksフォルダをコピーすることです。 – Jeff

+0

dotnet buildは、特定のslnファイルにフィルタリングしないので、大丈夫なオプションではありません – Jeff

1

私が今見つけた唯一の方法は、.NetCoreと.netの標準プロジェクトと、すべての.Netプロジェクト(または単にリリース設定を使用する)を対象とするコンパイル構成を作成することです。

次に、MsBuildを2回使用してビルドします。

からMSBuild.exe MySolution.sln/P:設定= DotNetCore

からMSBuild.exe MySolution.sln/P:設定=は

それはVS2017のソリューションのための作品をリリース。