Я скачал и распаковал сжатые двоичные файлы .NET Core SDK и добавил их в PATH.
Я могу создать новый консольный проект, используя dotnet new console
, но когда я пытаюсь добавитьВ зависимости от dotnet add package DocumentFormat.OpenXml
я получаю следующую ошибку:
Writing C:\Users\boobsbr\AppData\Local\Temp\tmp2C7B.tmp
info : Adding PackageReference for package 'DocumentFormat.OpenXml' into project 'C:\projects\test\test.csproj'.
log : Restoring packages for C:\projects\test\test.csproj...
error: Unable to load the service index for source https://api.nuget.org/v3/index.json.
error: No such host is known
Я читал в нескольких местах, что мне нужно добавить некоторую конфигурацию в NuGet.config
, чтобы настроить HTTPS-прокси.Некоторые люди рекомендуют использовать nuget.exe config -Set
для установки значений, но исполняемый файл отсутствует в папке двоичного дистрибутива, и я также прочитал, что dotnet.exe
использует библиотеки NuGet DLL вместо вызова nuget.exe
исполняемого файла.
Поэтому я решил отредактировать файл, расположенный по адресу C:\Users\boobsbr\AppData\Roaming\NuGet\NuGet.Config
.Некоторые люди предлагают просто установить прокси-URL, а пользователь и пароль будут считаны из некоторой конфигурации системы, поэтому я добавил следующую строку в файл конфигурации:
<add key="https_proxy" value="http://proxy_url:8080" />
И этосообщение, которое я получил после попытки добавить пакет:
Writing C:\Users\boobsbr\AppData\Local\Temp\tmpA7AF.tmp
info : Adding PackageReference for package 'DocumentFormat.OpenXml' into project 'C:\projects\test\test.csproj'.
log : Restoring packages for C:\projects\test\test.csproj...
info : GET http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0
log : Retrying 'FindPackagesByIdAsyncCore' for source 'http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0'.
log : No such host is known
info : GET http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0
log : Retrying 'FindPackagesByIdAsyncCore' for source 'http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0'.
log : No such host is known
info : GET http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0
error: Failed to retrieve information about 'DocumentFormat.OpenXml' from remote source 'http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0'.
error: No such host is known
Хорошо, поэтому я попытался добавить имя пользователя, как предложили другие люди, и пароль должен быть автоматически подобран из некоторой системы:
<add key="https_proxy" value="http://proxy_url:8080" />
<add key="https_proxy.user" value="boobsbr" />
И это сообщение об ошибке:
Writing C:\Users\boobsbr\AppData\Local\Temp\tmp839E.tmp
info : Adding PackageReference for package 'DocumentFormat.OpenXml' into project 'C:\projects\test\test.csproj'.
log : Restoring packages for C:\projects\test\test.csproj...
info : GET http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0
log : Retrying 'FindPackagesByIdAsyncCore' for source 'http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0'.
log : No such host is known
info : GET http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0
log : Retrying 'FindPackagesByIdAsyncCore' for source 'http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0'.
log : No such host is known
info : GET http://proxy_url:8080/FindPackagesById()?id='DocumentFormat.OpenXml'&semVerLevel=2.0.0
error: The local source 'C:\Users\boobsbr\AppData\Roaming\NuGet\boobsbr' doesn't exist.
Хорошо, тогда я попытался добавить пароль в виде открытого текста:
<add key="https_proxy" value="http://proxy_url:8080" />
<add key="https_proxy.user" value="boobsbr" />
<add key="https_proxy.password" value="my_pass" />
И я получил то же сообщение, что и предыдущийпытаться.Я также попытался использовать http_proxy
вместо https_proxy
, но безрезультатно.
Некоторые люди говорят, что пароль должен быть base64 и зашифрован, но единственный способ сделать это, кажется, через nuget.exe config -Set
и у меня нет nuget.exe
.
Я знаю пользователя: pass: url: значения портов работают, потому что я использовал их, чтобы заставить NPM общаться с реестром NPM.
Может быть, я 'Мне плохо в поиске, но я не могу найти четкую документацию, описывающую, как настроить простую конфигурацию для очень распространенного варианта использования.
Итак, как мне настроить CLI .NET Core для использования корпоративного прокси / брандмауэра?
Windwows 10 build: 15063
.NET Core SDK версия: 2.1.402