Dotnet запустить / восстановить без интернета (автономный режим) - PullRequest
1 голос
/ 24 марта 2019

У меня есть сервер Windows, на котором я успешно установил и восстановил свой основной проект dotnet (в то время, когда у меня было исходящее интернет-соединение на сервере).Теперь этот экземпляр приложения работает нормально.

Теперь исходящий доступ к Интернету был отменен как часть политики центра обработки данных.У меня есть доступ к 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 и работает на сервереединственный вариант?Не могу ли я построить его на моем сервере в автономном режиме?

Ответы [ 2 ]

1 голос
/ 24 марта 2019

Хорошо.Как это обычно бывает, я получил решение после публикации вопроса на SO.

Кредиты: https://blog.bigfont.ca/dotnet-restore-without-an-internet-connection/

Вот краткое изложение:

dotnet nuget locals all --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 
0 голосов
/ 26 марта 2019

Альтернативой найденному вами решению является создание nuget.config файла, который удаляет все источники nuget:

<configuration>
 <packageSources>
    <clear />
 </packageSources>
</configuration>

Таким образом, вам не нужно использовать специальные аргументы командной строки для восстановленияили построить.

...