5

我们使用 NuGet 来打包我们的内部依赖项。我们正在为这些设置一个私有 NuGet 存储库。

但是,我担心有人可能会不小心将我们的某个包发布到公共 NuGet 存储库。

我可以防止这种情况吗?

4

2 回答 2

1

您可以使用引用内部 NuGet Gallery 实例的值定义NuGet.config文件。DefaultPushSource将配置文件放在内部包文件旁边nuspec

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="DefaultPushSource" value="https://nuget.example.com" />
  </config>
</configuration>

通常,最接近文件夹 nuget.exe 的 NuGet.config 文件从 wins 运行,下面的部分将介绍详细信息。

NuGet 首先从默认位置加载 NuGet.config,然后从当前驱动器的根目录开始加载任何名为 NuGet.config 的文件,并以当前目录结束。

链接多个配置文件

NuGet Config Defaults 文件还允许指定默认推送源。如果 nuget.exe 的命令行参数中未提供,这将是默认的推送源。如果在 NuGet Config Defaults 文件中没有指定默认推送源,则 nuget.org 是默认的 nuget.exe 推送源。不过,使用新配置,管理员可以将默认推送源更改为内部包源。这将有助于防止意外将包发布到 nuget.org。

默认 NuGet.exe 推送源

于 2016-04-10T12:51:10.090 回答
-3

不,你不能。你不需要。

意外地,如果有人将 nuget 包发布到错误的服务器,这意味着某人对多个 nuget 服务器(假设您的本地画廊和 nuget.org)拥有相同的API 密钥。这种情况的概率相同,Guid.NewGuid()会生成两个相等的 GUID。一个用于您的本地 nuget 服务器,第二个用于其他人将包发布到公共 nuget 服务器。

或在现实中的意外意味着“意外”。没有解决办法。

于 2012-08-14T20:39:36.503 回答