You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置.NET 6与.NET Framework 4.8混合项目Azure DevOps构建管道遇错求助

解决Azure DevOps混合.NET项目构建的RuntimeIdentifier报错

问题场景

我在给一个ASP.NET遗留解决方案配置Azure DevOps构建管道,这个方案包含WCF、WPF项目,还有一堆基于.NET Framework 4.8和.NET Standard 2.0的服务层、仓储层类库,近期新增了复用现有服务的.NET Core 6 WebAPI。

配置WebService项目的构建管道时,部分项目构建失败,抛出错误:

Your project file doesn't list 'win' as a "RuntimeIdentifier". You should add 'win' to the "RuntimeIdentifiers" property in your project file and then re-run NuGet restore

但明确的是——.NET Framework项目根本不需要配置RuntimeIdentifier,这报错完全不符合预期。

解决方案

最后通过修改NuGet Restore任务的目标路径,从指定单个WebProject.csproj改为指向整个解决方案文件(**/sln),重新执行构建后成功通过。

原因推测

当仅针对单个.NET Core项目执行NuGet Restore时,NuGet可能会对整个依赖链强制进行RuntimeIdentifier校验,而在混合.NET Framework与.NET Core的项目场景下,这种校验会波及到不需要RuntimeIdentifier的.NET Framework项目,从而触发错误。改为针对整个解决方案执行Restore后,NuGet会自动识别每个项目的框架类型,适配对应的恢复逻辑,自然跳过了对.NET Framework项目不必要的RuntimeIdentifier检查。

内容的提问来源于stack exchange,提问作者MiroslavDinev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 11:03:13