0

當使用VS2017創建有狀態解決方案並生成標準樣板代碼時,生成的兩個項目有兩個不同的MSBuild版本。 該應用程序使用MSBuild版本1.5.0。 該服務使用MSBuild版本1.6.0(當前「最新」)。VS2017 MSB4057項目中不存在目標「CreateManifestResourceNames」

如果我以這種方式運行解決方案,它可以在我的本地服務結構集羣上正常運行。

但是,當我使用NuGet將應用程序的MSBuild更新到1.6.0後(因此應用程序和服務器項目都使用相同的)時,會發生以下錯誤。


嚴重性代碼說明項目文件的線路抑制狀態 錯誤OutputPath屬性未設置項目「gt_strd5.sfproj」。請檢查以確保您已爲該項目指定了Configuration和Platform的有效組合。 Configuration ='Debug'P遵循項目對項目的引用,這個項目有belatform ='x64'。如果某個其他項目嘗試卸載或未包含在解決方案中,並且引用項目不使用相同或等效的配置或平臺構建,則也可能出現此錯誤。 gt_strd5 C:\ Program Files文件(x86)的\微軟的Visual Studio \ 2017年\企業\的MSBuild \ 15.0 \斌\ Microsoft.Common.CurrentVersion.targets 737

嚴重性代碼說明項目文件的線路抑制狀態 錯誤MSB4057目標「 CreateManifestResourceNames「在項目中不存在。 gt_strd5 C:\ Program Files文件(x86)的\微軟的Visual Studio \ 2017年\企業\的MSBuild \ 15.0 \斌\ Microsoft.Common.CurrentVersion.targets 2630


回答

0

我發現變化後,在一些參考應用程序的項目文件繼續引用MSBuild 1.5.0。在我的情況下,gt_strd5.sfproj文件包含四個需要從1.5.0更新到1.6.0的引用。請參閱下面的XML代碼片段。

導入項目= 「.. \包\ Microsoft.VisualStudio.Azure.Fabric。MSBuild.1.5.0 \建造\ Microsoft.VisualStudio.Azure.Fabric.Application.props」 條件=「是否存在(」。 \ packages \ Microsoft.VisualStudio.Azure.Fabric。MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.props')「 ..... Import Project =」.. \ packages \ 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')「

爲了驗證這一點,我回去了幾次,並能夠重現問題和這個解決方案。

希望它可以節省別人一些時間。 最好的問候

相關問題