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')“

为了验证这一点,我回去了几次,并能够重现问题和这个解决方案。

希望它可以节省别人一些时间。 最好的问候

相关问题