代理后面单声道上的 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.Lazy1[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_proxyNO_PROXY 环境变量来生成旁路列表代理。

因此值得检查该环境变量以查看它是否正在使用 *.intranet 并导致异常