点网无需互联网即可运行/还原(离线模式)

时间:2019-03-24 03:43:29

标签: deployment .net-core nuget

我有一台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并在服务器上运行是唯一的选择吗?不能以离线模式在服务器上构建它吗?

3 个答案:

答案 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 恢复您的解决方案或项目。它适用于离线使用。

在这里查看我的回答:https://stackoverflow.com/a/41094054/2156569