如何访问官方 nuget 服务器上 nuget 包的 nuspec 文件?
How to get access to nuspec file of a nuget package on official nuget server?
我在官方 nuget 服务器上托管了一个 nuget 包。我想访问它的 nuspec 文件。
如果那不可能,有什么方法可以访问 Manifect 对象?
我试过了
IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository("https://packages.nuget.org/api/v2");
var package = repo.FindPackage("trackerenableddbcontext");
string root = "c:\";
package.ExtractContents(new PhysicalFileSystem(root), "tempfolder");
但它只能提取 lib 文件夹中的 dll 文件。不是 nuspec 文件。
找到解决方案:
public Manifest ReadServerNuspecFile(PackageRetrieveOptions options)
{
IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository("https://packages.nuget.org/api/v2");
var package = repo.FindPackage(options.ProjectName);
using (var pkgStream = package.GetStream())
{
var pkgReader = new PackageReader(pkgStream);
var manifest = Manifest.ReadFrom(pkgReader.GetNuspec(), true);
return manifest;
}
}
我在官方 nuget 服务器上托管了一个 nuget 包。我想访问它的 nuspec 文件。
如果那不可能,有什么方法可以访问 Manifect 对象?
我试过了
IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository("https://packages.nuget.org/api/v2");
var package = repo.FindPackage("trackerenableddbcontext");
string root = "c:\";
package.ExtractContents(new PhysicalFileSystem(root), "tempfolder");
但它只能提取 lib 文件夹中的 dll 文件。不是 nuspec 文件。
找到解决方案:
public Manifest ReadServerNuspecFile(PackageRetrieveOptions options)
{
IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository("https://packages.nuget.org/api/v2");
var package = repo.FindPackage(options.ProjectName);
using (var pkgStream = package.GetStream())
{
var pkgReader = new PackageReader(pkgStream);
var manifest = Manifest.ReadFrom(pkgReader.GetNuspec(), true);
return manifest;
}
}