在Windows Server(无Visual Studio)上为CI / CD构建ASP.NET Core

问题描述 投票:1回答:2

这不是this thread的重复,虽然目标是相同的,但错误不是。

我想在没有安装Visual Studio的机器上构建我的ASP.NET Core。

我需要这个,因为我正在设置GitLab CI / CD。

仅仅为了测试目的我打开控制台我在dotnet restore文件所在的文件夹中执行dotnet build.sln。在这两种情况下我都收到以下错误:

C:\ Program Files \ dotnet \ sdk \ 2.1.4 \ NuGet.targets(103,5):错误:本地源'C:\ Users \ matjaz.cof \ .dotnet \ NuGetFallbackFolder'不存在。

完整日志:

C:\GitLab-Runner\builds\7cab42e4\0\web\app>dotnet restore
  Restoring packages for C:\GitLab-Runner\builds\7cab42e4\0\web\app\App.Web.Core\App.Web.Core.csproj...
  Restoring packages for C:\GitLab-Runner\builds\7cab42e4\0\web\app\App.Web.Library.Tests\App.Web.Library.Tests.csproj...
  Restoring packages for C:\GitLab-Runner\builds\7cab42e4\0\web\app\App.Web.Core.Tests\App.Web.Core.Tests.csproj...
  Restoring packages for C:\GitLab-Runner\builds\7cab42e4\0\web\app\App.Web.Library\App.Web.Library.csproj...
  Restoring packages for C:\GitLab-Runner\builds\7cab42e4\0\web\app\App.Web.Hosting\App.Web.Hosting.csproj...
  Restore completed in 93,72 ms for C:\GitLab-Runner\builds\7cab42e4\0\web\app\App.Web.Hosting\App.Web.Hosting.csproj.
C:\Program Files\dotnet\sdk\2.1.4\NuGet.targets(103,5): error : The local source 'C:\Users\matjaz.cof\.dotnet\NuGetFallbackFolder' doesn't exist. [C:\GitLab-Runner\builds\7cab42e4\0\web\app\App.Web.sln]

提供的线程中的答案说我所需要的是Dotnet SDK,我安装了它:

C:\GitLab-Runner\builds\7cab42e4\0\web\app>dotnet --version
2.1.4

Windows服务器上确实不存在文件夹,但它存在于我的开发机器上(安装了VS 2017)。 我在Windows Server上搜索整个c:文件夹NuGetFallbackFolder,并在c:\Program Files\dotnet\sdk\NuGetFallbackFolder中找到它。

为什么dotnet restore/build在用户名下搜索文件夹,我需要更改什么?

编辑:(@ MartinUllrich)

这是c:\Users\matjaz.cof\AppData\Roaming\NuGet\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" />
  </packageSources>
</configuration>
asp.net-core nuget nuget-package-restore dotnet-cli dotnet-restore
2个回答
3
投票

此回退文件夹路径在.NET Core的2.0预览时间范围内使用。

您可以从C:\Users\ matjaz.cof\AppData\Roaming\NuGet\NuGet.Config文件中删除引用此目录的包源。


0
投票

我只是通过将c:\Program Files\dotnet\sdk\NuGetFallbackFolder\复制到c:\Users\matjaz.cof\.dotnet\NuGetFallbackFolder\来解决它。

我想不出别的什么。也许卸载旧的.NET Core运行时和SDK也可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.