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

DevOps流水线中dotnet build误用框架(NU1702)问题求助

问题:.NET 6/8 解决方案本地构建正常,DevOps流水线编译失败

我有一个配置为构建.NET 6和.NET 8的解决方案,本地工作站可正常构建,项目文件核心配置如下:

<Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
...
    <TargetFrameworks>net8.0;net6.0</TargetFrameworks>
...
  </PropertyGroup>
</Project>

但在DevOps系统的流水线中编译时,出现以下错误信息:

F:\Agent1_work_tool\dotnet\sdk\8.0.405\Microsoft.Common.CurrentVersion.targets(1890,5): warning NU1702: ProjectReference 'F:\Agent1_work\1546\s\Tools\XXXX.csproj' was resolved using '.NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v6.0'. This project may not be fully compatible with your project. [F:\Agent1_work\1546\s\Tools_Test\XXXX.csproj::TargetFramework=net6.0]
F:\Agent1_work_tool\dotnet\sdk\8.0.405\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(266,5): error NETSDK1005: Assets file 'F:\Agent1_work\1546\s\Tools\Build\obj\project.assets.json' doesn't have a target for 'net48'. Ensure that restore has run and that you have included 'net48' in the TargetFrameworks for your project. [F:\Agent1_work\1546\s\Tools\XXXX.csproj::TargetFramework=net48]

即使我使用CMD脚本明确指定框架,问题依然存在:

dotnet build "XXXX.sln" --configuration Release --framework net6.0

我已通过UseDotNet@2任务下载所需.NET版本:

- task: UseDotNet@2
      displayName:              "Get .NET6"
      inputs:
        packageType:            "sdk"
        version:                "6.x"
        vsVersion:              "22.x"
    - task: UseDotNet@2
      displayName:              "Get .NET8"
      inputs:
        packageType:            "sdk"
        version:                "8.x"
        vsVersion:              "22.x.x"

更新1:

global.json当前为空:

{
}

更新2:

我已使用NuGetToolInstaller安装6.x版本:

- task: NuGetToolInstaller@1
      displayName:              "Get NuGet 6"
      inputs:
        versionSpec:            '6.x'

更新3:

我刚在项目文件中发现多处如下重复引用:

<Reference Include="log4net">
      <HintPath>..\packages\log4net.2.0.15\lib\net45\log4net.dll</HintPath>
    </Reference>
    <PackageReference Include="log4net" Version="3.0.3" />

我计划移除所有重复项及HintPath。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 19:17:43