0

ステートフルなソリューションを作成するためにVS2017を使用し、標準の定型コードを作成すると、結果として生じる2つのプロジェクトには2つの異なるMSBuildバージョンがあります。 アプリケーションはMSBuildバージョン1.5.0を使用します。 サービスは、MSBuildバージョン1.6.0(現在の "最新")を使用します。VS2017 MSB4057ターゲット "CreateManifestResourceNames"がプロジェクトに存在しません

この方法でソリューションを実行すると、ローカルのService Fabricクラスタで問題なく動作します。

NuGetを使用してアプリケーションのMSBuildを1.6.0に更新した後(アプリケーションとサーバーの両方のプロジェクトで同じものを使用するため)、次のエラーが発生します。


重大度コード説明プロジェクトファイルの行の抑制状態 エラーOutputPathプロパティがプロジェクトのgt_strd5.sfproj」のために設定されていません。このプロジェクトに対して有効な構成とプラットフォームの組み合わせを指定していることを確認してください。 Configuration = 'Debug' Pこのプロジェクトのproject-to-projectへの参照に従います。このプロジェクトはbelatform = 'x64'です。このエラーは、他のいくつかのプロジェクトがアンロードされている、またはソリューションに含まれておらず、参照元のプロジェクトが同じまたは同等の構成またはプラットフォームを使用してビルドされていない場合にも表示されます。 gt_strd5のC:\プログラムファイル(x86の)\のMicrosoft Visual Studioの\ 2017 \エンタープライズ\ MSBuildの\ 15.0 \ビン\ Microsoft.Common.CurrentVersion.targets 737

重大度コード説明プロジェクトファイルの行の抑制状態 エラーMSB4057ターゲット」 CreateManifestResourceNames "がプロジェクトに存在しません。 gt_strd5 C:\プログラムファイルのMicrosoftのVisual Studio \(x86の)\ 2017のEnterprise \ \ MSBuildの15.0 \ビン\ \ Microsoft.Common.CurrentVersion.targets 2630


答えて

0

私が発見した変更後、いくつかの参照アプリケーションのプロジェクトファイルは引き続きMSBuild 1.5.0を参照していました。私の場合、gt_strd5.sfprojファイルには、1.5.0から1.6.0に更新する必要がある4つの参照が含まれていました。以下のXMLのスニペットを参照してください。

プロジェクトのインポート= ".. \パッケージはMicrosoft.VisualStudio.Azure.Fabricを\。MSBuild.1.5.0 \ビルド\のMicrosoft.VisualStudio.Azure.Fabric.Application.props" 条件= "「(存在します。 。\パッケージ\ Microsoft.VisualStudio.Azure.Fabric。MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.props ') " ..... インポートプロジェクト=" .. \パッケージ\ Microsoft.VisualStudio.Azure.Fabric。MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.targets "Condition =" Exists( '.. \ packages \ Microsoft.VisualStudio.Azure.Fabric MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.t argets ') "

これを確認するには、数回戻って問題とこの解決策を再現できました。

誰か他の人に時間を節約したいと考えています。 よろしくお願いします。

関連する問題