代理后面单声道上的 NuGet 无法连接到互联网
NuGet on mono behind proxy not able to connect to the internet
我在公司代理后面有一台 Linux 机器。
对于代理,我设置了 CNTLM 来为我处理身份验证,因此我的代理位于 http://localhost:3128。 CNTLM 连接到使用 NTLMv2 的企业代理。
现在,当我尝试使用以下命令在 Mono 上 运行 Nuget 时:
mono .nuget/nuget.exe list -Verbosity detailed -ConfigFile .nuget/NuGet.Config
它给我以下错误:
System.TypeInitializationException: An exception was thrown by the type initializer for NuGet.ProxyCache ---> System.ArgumentException: parsing '*.intranet' - Quantifier {x,y} following nothing.
at System.Text.RegularExpressions.RegexParser.ScanRegex () [0x00000] in <filename unknown>:0
at System.Text.RegularExpressions.RegexParser.Parse (System.String re, RegexOptions op) [0x00000] in <filename unknown>:0
at System.Text.RegularExpressions.Regex..ctor (System.String pattern, RegexOptions options, TimeSpan matchTimeout, Boolean useCache) [0x00000] in <filename unknown>:0
at System.Text.RegularExpressions.Regex..ctor (System.String pattern) [0x00000] in <filename unknown>:0
at System.Net.WebProxy.CheckBypassList () [0x00000] in <filename unknown>:0
at System.Net.WebProxy..ctor (System.Uri address, Boolean bypassOnLocal, System.String[] bypassList, ICredentials credentials) [0x00000] in <filename unknown>:0
at System.Net.WebProxy..ctor (System.Uri address, Boolean bypassOnLocal, System.String[] bypassList) [0x00000] in <filename unknown>:0
at System.Net.WebRequest.GetSystemWebProxy () [0x00000] in <filename unknown>:0
at NuGet.ProxyCache..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at NuGet.HttpClient.GetResponse () [0x00000] in <filename unknown>:0
at NuGet.RedirectedHttpClient.GetResponseUri (NuGet.HttpClient client) [0x00000] in <filename unknown>:0
at NuGet.RedirectedHttpClient.EnsureClient () [0x00000] in <filename unknown>:0
at System.Lazy
1[System.Object].CreateValue () [0x00000] in :0
`
它似乎想要解析一个“*.intranet”字符串,尽管我不确定它是从哪里得到的。我的 Nuget.Config 文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<config>
<add key="http_proxy" value="http://localhost:3128" />
</config>
</configuration>
我将其添加到我的 Mono /etc/mono/[2.0,4.0,4.5]/machine.config 文件
<configuration>
<system.net>
<defaultProxy>
<proxy proxyadress="http://localhost:3128" />
</defaultProxy>
</system.net>
</configuration>
但是,这没有任何效果。我也无法 运行 mozroots
,但我通过下载文件并使用文件选项手动导入来绕过它。我想这可能是相关的。
Mono 将查找 no_proxy 或 NO_PROXY 环境变量来生成旁路列表代理。
因此值得检查该环境变量以查看它是否正在使用 *.intranet 并导致异常
我在公司代理后面有一台 Linux 机器。
对于代理,我设置了 CNTLM 来为我处理身份验证,因此我的代理位于 http://localhost:3128。 CNTLM 连接到使用 NTLMv2 的企业代理。
现在,当我尝试使用以下命令在 Mono 上 运行 Nuget 时:
mono .nuget/nuget.exe list -Verbosity detailed -ConfigFile .nuget/NuGet.Config
它给我以下错误:
System.TypeInitializationException: An exception was thrown by the type initializer for NuGet.ProxyCache ---> System.ArgumentException: parsing '*.intranet' - Quantifier {x,y} following nothing.
at System.Text.RegularExpressions.RegexParser.ScanRegex () [0x00000] in <filename unknown>:0
at System.Text.RegularExpressions.RegexParser.Parse (System.String re, RegexOptions op) [0x00000] in <filename unknown>:0
at System.Text.RegularExpressions.Regex..ctor (System.String pattern, RegexOptions options, TimeSpan matchTimeout, Boolean useCache) [0x00000] in <filename unknown>:0
at System.Text.RegularExpressions.Regex..ctor (System.String pattern) [0x00000] in <filename unknown>:0
at System.Net.WebProxy.CheckBypassList () [0x00000] in <filename unknown>:0
at System.Net.WebProxy..ctor (System.Uri address, Boolean bypassOnLocal, System.String[] bypassList, ICredentials credentials) [0x00000] in <filename unknown>:0
at System.Net.WebProxy..ctor (System.Uri address, Boolean bypassOnLocal, System.String[] bypassList) [0x00000] in <filename unknown>:0
at System.Net.WebRequest.GetSystemWebProxy () [0x00000] in <filename unknown>:0
at NuGet.ProxyCache..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at NuGet.HttpClient.GetResponse () [0x00000] in <filename unknown>:0
at NuGet.RedirectedHttpClient.GetResponseUri (NuGet.HttpClient client) [0x00000] in <filename unknown>:0
at NuGet.RedirectedHttpClient.EnsureClient () [0x00000] in <filename unknown>:0
at System.Lazy
1[System.Object].CreateValue () [0x00000] in :0
`
它似乎想要解析一个“*.intranet”字符串,尽管我不确定它是从哪里得到的。我的 Nuget.Config 文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<config>
<add key="http_proxy" value="http://localhost:3128" />
</config>
</configuration>
我将其添加到我的 Mono /etc/mono/[2.0,4.0,4.5]/machine.config 文件
<configuration>
<system.net>
<defaultProxy>
<proxy proxyadress="http://localhost:3128" />
</defaultProxy>
</system.net>
</configuration>
但是,这没有任何效果。我也无法 运行 mozroots
,但我通过下载文件并使用文件选项手动导入来绕过它。我想这可能是相关的。
Mono 将查找 no_proxy 或 NO_PROXY 环境变量来生成旁路列表代理。
因此值得检查该环境变量以查看它是否正在使用 *.intranet 并导致异常