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

标签 c# azure visual-studio-2019 azure-worker-roles .net-4.7.2

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

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

我们剩下的一个障碍是尝试构建我们的 Azure 云服务项目(为 Azure 生成打包辅助角色文件的 .ccproj 文件)。尝试构建云服务项目会导致 Microsoft.Common.CurrentVersion.targets 第 1653 行出现错误:

Project foo targets net472. It cannot be referenced by a project that targets .NETFramework, Version=v4.0.

此时我们几乎陷入困境。我没有找到任何与新 .csproj 格式中的辅助角色项目相关的特定错误的引用。

我尝试将辅助角色项目保留为“旧”项目文件格式,并将其定位到 .NET 4.7.2,Azure 云服务项目构建得很好 - 除了 NuGet 包引用我们的解决方案中依赖的 .NET Standard 项目未正确解析,并且 NuGet 包 DLL 未传播到构建输出文件夹 - 根据我的阅读,这是因为引用 NuGet 包的"new"项目格式方法不是与旧的 packages.config 格式兼容。由于在运行时出现新的缺失依赖项,我不得不一次手动将一个 NuGet 包添加到辅助角色项目中。当我们的项目中使用了接近 100 个 NuGet 包时,显然这不是一个好的解决方案。

最佳答案

从以下位置找到:Azure Cloud Service Classic with .NET Standard target

在 .ccproj 文件中添加以下行为我解决了这个问题:

    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 

关于c# - Azure 云服务项目与新 .csproj 格式的辅助角色项目不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58696514/

相关文章:

c# - 检测 DataContext 表或 View 是否存在的快速方法

c# - 从通用类型加载通用集合

c# - 响应已开始 Blazor 中的 HttpContext.SignOutAsync() 方法调用引发异常

java - 使用 azure.identity.UsernamePasswordCredential 和错误 : AADSTS65001: The user or administrator has not consented to use the application with ID

azure - Visual Studio 2019 中缺少 Application Insights

visual-studio - TFS:如何在 Visual Studio 2019 中添加撤消更改操作?

C# - 类型约束和限制,是否有任何解决方法来保持类型安全?

C# 读取完全锁定的文本文件或读取 if 语句外的输出

Azure DevOps 中带有图像的 C# NuGet 包错误

c++ - 指向成员变量的指针作为静态成员