新的.csproj格式的Azure云服务项目与辅助角色项目不兼容

我们正尝试将现有的Azure Worker Role项目升级到.NET 4.7.2,并将我们解决方案中的所有相关项目重新定位到.NET Standard 2.0-这是我们要消除的中间步骤Worker Role项目完全完成,并迁移到Docker容器中托管的.NET Core 3.0 Worker Service。

我们解决方案中的所有项目文件(.csproj)都已转换为“新”格式,并且我们删除了packages.config,一切都很好。几乎。

我们剩下的一个障碍是尝试构建Azure云服务项目(.ccproj文件,该文件为Azure生成打包的工作人员角色文件)。尝试构建Cloud Service项目会导致在microsoft.Common.CurrentVersion.targets的第1653行出现错误:

  

项目foo目标net472。面向.NETFramework,Version=v4.0的项目无法引用它。

在这一点上,我们很困惑。我没有找到与此新错误相关的引用,该错误与新的.csproj格式的工作人员角色项目相关。

我尝试将工作人员角色项目保留为“旧”项目文件格式,并将其定位到.NET 4.7.2,Azure Cloud Service项目的构建就很好了-NuGet包引用的 从我们解决方案中依赖的.NET Standard项目获得的解析不正确,并且NuGet包的DLL没有传播到生成输出文件夹-根据我的阅读,这是因为引用NuGet包的“新”项目格式方法不正确与旧的packages.config格式兼容。我不得不求助于一次将一个NuGet包一次手动添加到Worker Role项目中,因为在运行时会出现新的缺少的依赖项。当我们在项目中使用近100个NuGet软件包时,显然不是一个好的解决方案。

lixiaoxuaner 回答:新的.csproj格式的Azure云服务项目与辅助角色项目不兼容

从以下位置发现:Azure Cloud Service Classic with .NET Standard target

在.ccproj文件中添加以下行为我修复了该问题:

    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 
本文链接:https://www.f2er.com/3165586.html

大家都在问