如何使用NuGet. core创建NuGet包
本文关键字:NuGet 创建 core 何使用 | 更新日期: 2023-09-27 18:03:36
我想创建一个使用NuGet包NuGet. core的应用程序。它有一个名为PackageBuilder的类使其成为可能。是否有任何可用的示例/教程/文档?
一个非常简单的例子:
- 创建一个文件夹,其中包含你想要的文件。
写一些像这样的代码:
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代码的改进示例。变化:
- 文件夹中除*外的所有文件。nuspec被添加到package.
-
定义包文件名的行。
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); }