我有一台Windows服务器,在其中成功安装和还原了dotnet核心项目(当服务器上有出站Internet连接时)。该应用程序实例现在可以正常运行。
现在,出站互联网访问已作为数据中心政策的一部分被撤消。我可以访问VPN和远程桌面。现在,我试图将我的工作项目克隆到一个单独的文件夹中,并在另一个端口上创建另一个实例。
但是在我的新项目文件夹中使用dotnet run
时(除少数设置外,所有内容都相同)时,出现此错误:
$ dotnet run
C:\Program Files (x86)\dotnet\sdk\2.2.102\NuGet.targets(114,5): error :
Unable to load the service index for source https://api.nuget.org
/v3/index.json. [C:\xxxx\xxxx\xxxx.csproj]
C:\Program Files (x86)\dotnet\sdk\2.2.102\NuGet.targets(114,5): error :
A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because
connected host has failed to respond [C:\xxxx\xxxx\xxxx.csproj]
The build failed. Please fix the build errors and run again.
我检查了C:\Users\xxxxxx\.nuget\packages
,并且所有必需的软件包都可用。
两个项目都在相同的Windows用户配置文件下运行。
我已经查询了有关该主题的各种Stackoverflow问题,但所有人都谈论的是代理设置,这不是我的用例。
由于所有软件包都已在本地缓存中,因此如何防止dotnet
查找远程nuget服务器。
在本地构建dll并在服务器上运行是唯一的选择吗?不能以离线模式在服务器上构建它吗?
答案 0 :(得分:0)
好的。通常,我在SO上发布问题后就得到了解决方案。
积分:https://blog.bigfont.ca/dotnet-restore-without-an-internet-connection/
这里是一个简短的提示:
dotnet nuget locals全部--list
info : http-cache: C:\Users\bigfo\AppData\Local\NuGet\v3-cache
info : global-packages: C:\Users\bigfo\.nuget\packages\
info : temp: C:\Users\bigfo\AppData\Local\Temp\NuGetScratch
然后,在dotnet还原过程中使用这些来源之一
dotnet restore --source C:\Users\bigfo\.nuget\packages\
dotnet build --no-restore
dotnet run --no-restore
答案 1 :(得分:0)
找到的解决方案的替代方法是创建一个nuget.config
文件,该文件将删除所有nuget源:
<configuration>
<packageSources>
<clear />
</packageSources>
</configuration>
这样,您无需使用特殊的命令行参数来还原或构建。
答案 2 :(得分:0)
您可以尝试使用 NuSave 恢复您的解决方案或项目。它适用于离线使用。