【发布时间】:2011-10-12 03:20:35
【问题描述】:
我想创建一个使用 NuGet 包 NuGet.Core 的应用程序。 它有一个名为 PackageBuilder 的类,使之成为可能。是否有可用的示例/教程/文档?
【问题讨论】:
-
似乎唯一的文档是one blog post。对于试图使用图书馆的人来说,这还不够。
标签: c# .net visual-studio nuget
我想创建一个使用 NuGet 包 NuGet.Core 的应用程序。 它有一个名为 PackageBuilder 的类,使之成为可能。是否有可用的示例/教程/文档?
【问题讨论】:
标签: c# .net visual-studio nuget
一个非常简单的例子:
这样写一些代码:
ManifestMetadata metadata = new ManifestMetadata()
{
Authors = "mauvo",
Version = "1.0.0.0",
Id = "myPackageIdentifier",
Description = "A description",
};
PackageBuilder builder = new PackageBuilder();
builder.PopulateFiles("folderPath/", new[] {new ManifestFile() {Source = "**"}});
builder.Populate(metadata);
using(FileStream stream = File.Open(packagePath, FileMode.OpenOrCreate))
{
builder.Save(stream);
}
【讨论】:
基于 David 代码的改进示例。变化:
定义包文件名的行。
ManifestMetadata metadata = new ManifestMetadata()
{
Authors = "mauvo",
Version = "1.0.0.0",
Id = "myPackageIdentifier",
Description = "A description",
};
PackageBuilder builder = new PackageBuilder();
var files = Directory.GetFiles(packagePath, "*", SearchOption.AllDirectories)
.Where(f => !f.EndsWith(".nuspec"))
.Select(f => new ManifestFile { Source = f, Target = f.Replace(path, "") })
.ToList();
builder.PopulateFiles("", files);
builder.Populate(metadata);
string packageFile = Path.Combine(packagePath, builder.GetFullName()) + ".nupkg";
using(FileStream stream = File.Open(packageFile, FileMode.OpenOrCreate))
{
builder.Save(stream);
}
【讨论】: