要配置文件系统包存储:
<appSettings>
<add key="Gallery:PackageStoreType" value="FileSystem" />
<add key="Gallery:FileStorageDirectory" value="C:\Path\To\Packages" />
</appSettings>
指向不同的 SQL Server:
<connectionStrings>
<add name="NuGetGallery" connectionString="Data Source=SQLSERVERNAME;Initial Catalog=NuGetGallery;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
编辑:支持 SQL Server 作为包存储
如果要将包作为 BLOB 存储在 SQL Server 中,则必须对代码进行一些更改。
首先,创建一个名为SqlServerFileStorageService
并实现的类IFileStorageService
。这个接口有几个方法。重要的是GetFile()
和SaveFile()
。组合folderName
并将fileName
创建一个可以在数据库表中使用的唯一键。
您可以使用相同的连接字符串NuGetGallery或添加一个新的连接字符串以进行数据访问。
然后,您将一个项目添加到PackageStoreType
名为SqlServer
.
在 ContainerBinding.cs 添加一个案例PackageStoreType.SqlServer
以绑定到您的SqlServerFileStorageService
.
现在 NuGet 库应该创建一个SqlServerFileStorageService
并且所有获取和保存都将使用您的类将 blob 存储在 SQL Server 中。
顺便说一句:我是基于对代码的粗略了解。可能会有一两个额外的步骤,但这些看起来像是您需要关注的主要领域。
希望有帮助。