2016-05-20 15 views
5

Teraz, gdy wszystko opiera się na pakietach nuget, jak to zrobić w trybie offline?Jak skonfigurować do pracy w trybie offline z .net Core

Uruchamianie "dotnet new", a następnie "dotnet restore" czasami używa buforowanych pakietów, a czasami kończy się niepowodzeniem, ponieważ nie może skontaktować się z serwerem nuget.

+0

swoje pytanie wydaje się kończy się nagle. Zastanów się nad edycją i wyraźnym określeniem twojego problemu. – Nikem

+0

Dzięki, nie wiesz, dlaczego został odcięty – rjdevereux

+1

Byłoby wspaniale, gdyby mógł użyć lokalnej pamięci podręcznej, czasami nie ma dostępu do Internetu lub jest bardzo drogi. – rjdevereux

Odpowiedz

4

Zgodnie z yishaigalatzer (który, zgodnie z jego profilem Github działa dla "Microsoft" w "Redmond"): "Jest to zgodne z projektem. Proszę nie dodawać logiki do obejścia go." (Jako część niniejszego raportu kwestia dyskusji: https://github.com/NuGet/Home/issues/2623)

Więc ..

Oto kilka sposobów, możemy wtedy obejść. Wszystko to ma na celu powstrzymanie "dotnet" przed próbą połączenia się z serwerem i użycie tylko lokalnego katalogu pakietów:

(1) Dodaj plik NuGet.config jako część projektu (w tym samym katalogu z projektem.json), który usuwa repozytorium online ze źródeł. Użyj następujących:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
     <clear /> 
    </packageSources> 
</configuration> 

(2) używać niestandardowej konfiguracji Nuget (np "MyCustomNuGet.config".), Które nie zawiera źródła:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
</configuration> 

Następnie po uruchomieniu "Restore DotNet", wyraźnie określić użyć niestandardowego pliku konfiguracyjnego:

dotnet restore --configfile MyCustomNuGet.config 

(3) po uruchomieniu „przywrócić DotNet”, wyraźnie określa lokalnego katalogu pakietów jako źródło:

dotnet restore -s $HOME/.nuget 

(lub gdziekolwiek katalog .nuget może być)

1

Aby skonfigurować Ubuntu w trybie offline środowiska dla rozwoju .NET rdzenia Użyłem następujących kroków: - Mam uruchomiony na żywo USB z Ubuntu na komputerze podłączonym do Internetu i zainstalowałem wszystkie potrzebne pakiety (dotnet, kod VS, git, węzeł itd.); - Z kodu Visual Studio Zainstalowałem rozszerzenie C# (a także inne, jeśli to konieczne); - Z powodzeniem skompilowałem i uruchomiłem próbki ASP.Net Core CLI (w ten sposób pobrano wszystkie pakiety NuGet nedded); - Skopiowałem na pendrive wszystkie pakiety pamięci podręcznej z: -/var/cache/apt - /home/.../.vscode/extensions - /home/.../.nuget/packages

* instead of ... should be the username 

na komputerze w trybie offline:

  • mam zainstalowane wszystkie pakiety z apt folderze z dpkd -i * .deb
  • mam skopiowane foldery przedłużających Wizualne Studio w/home /. ../.vscode/extension
    • tutaj mam błąd w Visual Studio Code i musiałem dać uprawnienia do folderów Przedłużacz z chmod -R 777 /home/.../.vscode/extensions
  • Mam skopiowane wszystkie *. Pliki nupkg z nuget/packages w nowym folderze (np. /Dom/.../ mypackages)
    • aby skopiować tylko pliki * .nupkg z Nuget/Pakiety folderu cache, która jest cała hierarchia plików i folderów, rozglądałem się w eksploratorze (Nautilus) „.nupkg” w tym folderze cache a następnie skopiował wszystkie wynikowe pliki * .nupkg;
  • Teraz Użyłem DotNet polecenia w różnych projektach przywrócić ze ścieżką pakietów Nuget: DotNet przywrócić -s $ HOME/mypackages

Projekty przywróceniu porządku i debugowanie w budynku oraz Kod Visual Studio działa również w porządku.

  • pracy na przywrócenie pakiety KMP buforuje
Powiązane problemy