【问题标题】:Not able to restore nuget for asp.net core 2.0 by using docker无法使用 docker 为 asp.net core 2.0 恢复 nuget
【发布时间】:2018-06-17 09:34:42
【问题描述】:

由于私有 nuget 恢复失败,我无法构建映像。 以下是我的撰写文件:

FROM microsoft/aspnetcore-build AS builder

WORKDIR /source 
WORKDIR solnname

RUN ["cp", "../NuGet.Config","/root/.nuget/NuGet/NuGet.Config"]  
RUN dotnet restore    
RUN dotnet publish --output /app/ --configuration Release    # build runtime

图片来自 microsoft/aspnetcore:2.0

WORKDIR /app
COPY --from=builder/app . 
ENTRYPOINT ["dotnet", "solnname.dll"]

我已经在下面的同一个文件夹中定义了我自己的 NuGet.Config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration>   
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="LocalPackage" value="http://localhost:58222/nuget" />
    <add key="Test Source" value="c:\packages" />
 </packageSources>
</configuration>

但出现错误

/usr/share/dotnet/sdk/2.1.3/NuGet.targets(103,5): 错误:本地源'/sou rce/c:\packages' 不存在。 [/source/solnname.csproj]

【问题讨论】:

  • 这与 Nuget 或 ASP.NET Core 本身无关。您添加了名为Test Source您自己的 源,该源以本地文件夹为目标。那个文件夹存在吗?
  • 您是否正在尝试将外部文件夹映射到c:\packages

标签: asp.net .net docker asp.net-core nuget


【解决方案1】:

如果您在 Windows 环境中使用 Linux 容器,则本地包路径将无效,因为您使用的是本地包路径的反斜杠,这在 Linux 容器中无效。您将需要安装路径并使用正斜杠更改分辨率。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 2019-06-13
    相关资源
    最近更新 更多