我们使用 NuGet 来打包我们的内部依赖项。我们正在为这些设置一个私有 NuGet 存储库。
但是,我担心有人可能会不小心将我们的某个包发布到公共 NuGet 存储库。
我可以防止这种情况吗?
我们使用 NuGet 来打包我们的内部依赖项。我们正在为这些设置一个私有 NuGet 存储库。
但是,我担心有人可能会不小心将我们的某个包发布到公共 NuGet 存储库。
我可以防止这种情况吗?
您可以使用引用内部 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 包发布到错误的服务器,这意味着某人对多个 nuget 服务器(假设您的本地画廊和 nuget.org)拥有相同的API 密钥。这种情况的概率相同,Guid.NewGuid()
会生成两个相等的 GUID。一个用于您的本地 nuget 服务器,第二个用于其他人将包发布到公共 nuget 服务器。
或在现实中的意外意味着“意外”。没有解决办法。