现在一切都基于nuget包,你如何进行离线开发?
运行“dotnet new”然后“dotnet restore”有时会使用缓存包,有时会失败,因为它无法联系nuget服务器.
解决方法
根据
yishaigalatzer(根据他的Github简介为“Redmond”中的“Microsoft”工作),他说:“这是设计的.请不要添加逻辑来解决它.” (作为本期报告讨论的一部分:
https://github.com/NuGet/Home/issues/2623)
那么……
以下是我们可以解决它的一些方法.所有这些都旨在阻止“dotnet”尝试连接到服务器,并仅使用本地包目录:
(1)添加一个NuGet.config文件作为项目的一部分(与project.json在同一目录中),从源中删除在线存储库.使用以下内容:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> </packageSources> </configuration>
(2)使用不包含任何来源的自定义NuGet配置(例如“MyCustomNuGet.config”):
<?xml version="1.0" encoding="utf-8"?> <configuration> </configuration>
然后,当您运行“dotnet restore”时,显式指定使用您的自定义配置文件:
dotnet restore --configfile MyCustomNuGet.config
(3)运行“dotnet restore”时,显式指定本地包目录为源:
dotnet restore -s $HOME/.nuget
(或.nuget目录可能在哪里)