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

使用Docker构建.NET Framework项目时遇NU1301错误求助

解决Docker构建.NET Framework项目时的NU1301错误
  • 排查容器网络连通性
    构建镜像时加上--network host参数,让容器复用主机网络环境,测试能否正常访问NuGet源:

    docker build --network host -t your-project-image .
    

    也可以在Dockerfile里加一段网络测试命令提前验证:
    Windows容器:

    RUN ping api.nuget.org -n 3
    

    Linux容器:

    RUN ping api.nuget.org -c 3
    
  • 替换NuGet源为国内镜像
    在项目根目录新建NuGet.Config文件,内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="azure-nuget" value="https://nuget.cdn.azure.cn/v3/index.json" protocolVersion="3" />
      </packageSources>
    </configuration>
    

    然后在Dockerfile里把这个文件复制到容器的NuGet配置目录:
    Windows容器:

    COPY NuGet.Config C:\Users\ContainerUser\AppData\Roaming\NuGet\
    

    Linux容器:

    COPY NuGet.Config /root/.nuget/NuGet/
    
  • 检查并更新基础镜像
    确保Dockerfile里使用的是官方维护的.NET Framework SDK镜像,比如mcr.microsoft.com/dotnet/framework/sdk:4.8,避免用过于老旧的镜像导致协议不兼容。

  • 手动指定源进行还原
    如果上面的方法没生效,直接在还原命令里指定NuGet源:
    用dotnet restore的情况:

    RUN dotnet restore YourProject.csproj --source https://nuget.cdn.azure.cn/v3/index.json
    

    用msbuild还原的情况:

    RUN msbuild YourProject.csproj /t:Restore /p:RestoreSources=https://nuget.cdn.azure.cn/v3/index.json
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:24:58