这不是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>
此回退文件夹路径在.NET Core的2.0预览时间范围内使用。
您可以从C:\Users\ matjaz.cof\AppData\Roaming\NuGet\NuGet.Config
文件中删除引用此目录的包源。
我只是通过将c:\Program Files\dotnet\sdk\NuGetFallbackFolder\
复制到c:\Users\matjaz.cof\.dotnet\NuGetFallbackFolder\
来解决它。
我想不出别的什么。也许卸载旧的.NET Core运行时和SDK也可以解决问题。