使用 LINQPAD 的 lprun.exe 时如何从自定义包源恢复 NuGet 包?

How can I restore NuGet packages from a custom package source when using LINQPAD's lprun.exe?

我们使用 LINQPADlprun 功能来 运行 我们的构建脚本;然而,由于我们在公司环境中,我们阻止访问 NuGet.org 包源:

<add key="nuget.org" value="https://www.nuget.org/api/v2/" />

而是使用公司代理,例如自定义包来源:

<add key="MyProxy" value="https://proxy.server/custom-nuget-repo" />

在本地开发时,这些资源在以下位置指定:

C:\Users\Me\AppData\Roaming\Nuget.config

但是 LINQPAD 忽略了这个文件,在使用 lprun 恢复引用的 NuGet 包时如何提供自定义包源?

lprun 和 LINQPad 都将文件 %AppData%\LINQPad\NuGetSources.xml 用于 NuGet 包源,因此这是您需要编辑的文件。

如果这个文件不存在,这里有一个例子:

<?xml version="1.0" encoding="utf-8"?>
<NuGetSources>
  <Source Name="(default)" />
  <Source Name="My Packages" URI="https://www.myget.org/F/your-username-here/" UserName="Example" Password="base64encodedstring" Enabled="false" />
</NuGetSources>

从较新的 LinqPad 版本开始,它内置于 LinqPad NuGet 管理器中。转到 QueryProperties (F4) -> 'Add Nuget' -> 'Settings' 并且可以像在 VS 中一样轻松地添加新包源。

在此处添加一个新答案,因为 Google 让我在尝试寻找答案时首先想到了这个问题。