NuGet은 1.4 버전부터 프록시 설정 구성을 허용한다는 것을 알았습니다. 그러나 명령 줄 예제를 찾을 수 없습니다.
일부 빌드를 실행하려고하는데 NuGet이 연결할 수 없습니다.
명령 줄에서 프록시 설정을 구성하려면 어떻게합니까?
http_proxy
와 https_proxy
당신의 시스템 프록시 설정 한 환경 변수를
NuGet은 1.4 버전부터 프록시 설정 구성을 허용한다는 것을 알았습니다. 그러나 명령 줄 예제를 찾을 수 없습니다.
일부 빌드를 실행하려고하는데 NuGet이 연결할 수 없습니다.
명령 줄에서 프록시 설정을 구성하려면 어떻게합니까?
http_proxy
와 https_proxy
당신의 시스템 프록시 설정 한 환경 변수를
답변:
NTLM 인증을 사용하는 회사 프록시에서이 작업을 수행하기 위해 수행 한 작업은 다음과 같습니다. NuGet.exe를 다운로드 한 후 다음 명령을 실행했습니다 ( CodePlex 의이 토론 에 대한 주석에서 찾았습니다 ).
nuget.exe config -set http_proxy=http://my.proxy.address:port
nuget.exe config -set http_proxy.user=mydomain\myUserName
nuget.exe config -set http_proxy.password=mySuperSecretPassword
이것은 내 NuGet.config
위치에 다음을 넣 습니다 %appdata%\NuGet
( Windows 7 컴퓨터의 C : \ Users \ myUserName \ AppData \ Roaming 에 매핑 됨 ).
<configuration>
<!-- stuff -->
<config>
<add key="http_proxy" value="http://my.proxy.address:port" />
<add key="http_proxy.user" value="mydomain\myUserName" />
<add key="http_proxy.password" value="base64encodedHopefullyEncryptedPassword" />
</config>
<!-- stuff -->
</configuration>
덧붙여서, 이것은 또한 Visual Studio에서 처음으로 패키지 소스에 도달했을 때만 작동하는 NuGet 문제를 해결했습니다.
이 접근 방식을 시도한 일부 사람들
http_proxy.password
은 명령 줄에서 키 설정을 생략 하거나 구성 파일에서 사후에 삭제할 수 있었으며 여전히 NuGet 기능을 사용할 수 있었다는 의견을 통해보고 했습니다. 프록시를 통해.
그러나 NuGet 구성 파일에서 암호를 지정 해야하는 경우 프록시 자격 증명이 네트워크 인 경우 네트워크 로그인을 변경할 때 명령 줄에서 NuGet 구성에 저장된 암호를 업데이트해야합니다. 자격 증명 .
아마도 devenv.exe.config에 이것을 시도 할 수 있습니다.
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://proxyaddress" />
</defaultProxy>
<settings>
<servicePointManager expect100Continue="false" />
<ipv6 enabled="true"/>
</settings>
</system.net>
NuGet 문제 추적기 에서 찾았습니다.
NuGet + 네트워크 문제에 대한 다른 귀중한 의견도 있습니다.
xml <system.net> <defaultProxy useDefaultCredentials="true" enabled="true"> </defaultProxy> <settings> <ipv6 enabled="true"/> </settings> </system.net>
나를 위해 일하십시오, 그것은 시스템 프록시 설정을 사용했습니다. WINDOWS 10에서 테스트
https 버전의 nuget ( https://www.nuget.org )을 사용하는 경우 https로 값을 설정해야합니다.
나는 틀릴 수 있지만 IE의 프록시 설정을 사용한다고 생각했습니다.
로그인이 필요하다고 판단되면 대화 상자가 열리고 로그인하라는 메시지가 표시됩니다.
여기에서 이에 대한 설명을 참조하십시오-> http://docs.nuget.org/docs/release-notes/nuget-1.5
VS2015를 사용하는 사람 : "407 프록시 인증 필요"오류가 발생하여 빌드가 손상되었습니다. 몇 시간 동안 조사한 결과 'DownloadNuGet'대상의 일부로 Nuget을 다운로드하려고 할 때 MSBuild가 자격 증명을 보내지 않는 것으로 나타났습니다. 해결책은 다음 XML을 <configuration>
요소 내의 C : \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe.config에 추가하는 것입니다 .
<system.net>
<defaultProxy useDefaultCredentials="true">
</defaultProxy>
</system.net>
나를위한 해결책은
<configuration>
<config>
<add key="http_proxy" value="http://<IP>:<Port>" />
<add key="http_proxy.user" value="<user>" />
<add key="http_proxy.password" value="<password>" />
</config>
</configuration>
에서 nuget.config
파일.
동일한 "nuget 용 프록시"에 대한 또 다른 특징 : 또는 fiddler를 통해 연결하도록 nuget 프록시 설정을 지정할 수 있습니다 . cmd 아래에서 사용자의 기본 nuget 구성 파일에 프록시 설정을 저장합니다.%APPDATA%\NuGet\NuGet.Config
nuget config -Set HTTP_PROXY=http://127.0.0.1:8888
인터넷에 연결하기 위해 너겟이 필요할 때마다 Fiddler를 열고 기본 포트 8888에서 수신 대기하는 피들러가 있다고 가정합니다.
이 구성은 Fiddler가 업스트림 프록시를 사용하여 모든 인증을 해결하므로 패스 워크 변경에 민감하지 않습니다.
아마도 이것은 다른 사람을 도울 것입니다. 저에게 해결책은 Visual Studio (2015/2017)에서 NuGet 설정을 열고 새 피드 URL http://www.nuget.org/api/v2/를 추가하는 것이 었습니다 .
프록시 관련 설정을 변경할 필요가 없습니다.
약간의 추가 ...
사용자 이름과 암호가 아닌 http_proxy 설정 만 제공하는 것으로 작동하는 경우 프로젝트 로컬 nuget.config 파일에 프록시 설정을 넣고 소스 제어에 커밋하는 것이 좋습니다. 이렇게하면 모든 팀원이 동일한 설정을 갖게됩니다.
빈. \ nuget.config를 만듭니다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
</configuration>
그때:
nuget config -Set http_proxy="http://myproxy.example.com:8080" -ConfigFile .\Nuget.Config
마지막으로 새 프로젝트 로컬 Nuget.config 파일을 커밋합니다.
@arcain의 제안 외에도 다음 Windows Azure Content Delivery Network URL을 프록시 서버의 화이트리스트에 추가해야했습니다.
.msecnd.net
내가 개발 한 Windows Server 2016 Standard에서 Credential Manager 제어판을 열고 더 이상 유효하지 않은 Visual Studio의 캐시 된 프록시 설정을 지운 다음 Visual Studio를 다시 시작해야했습니다. 다음에 Nuget Package Manager를 열었을 때 프록시 자격 증명을 입력하라는 메시지가 표시되어 다시 작업하게되었습니다.
참조 : https://support.microsoft.com/en-us/help/4026814/windows-accessing-credential-manager