msbuild - 使用 Cake 为 .Net Standard 2.0 lib 构建 NuGet 包

标签 msbuild .net-standard cakebuild

我创建了一个基于 .Net Standard 2.0 的类库,并使用 Cake 构建项目/解决方案,但我找不到如何为该库构建 NuGet 包。 NuGetPack 不起作用。

最佳答案

你确实有两个选择。 NuGetPack 将继续工作,我在我维护的几个 Cake Addins 上使用了这种方法。您能否详细解释一下您所遇到的问题?

另一个选项是使用 DotNetCorePack 别名。您可以在此文件中看到此操作(它是 Cake.Recipe 脚本集的一部分):

https://github.com/cake-contrib/Cake.Recipe/blob/develop/Cake.Recipe/Content/nuget.cake

这里也记录了它:

https://cakebuild.net/api/Cake.Common.Tools.DotNetCore/DotNetCoreAliases/0F7A518E

var projects = GetFiles(BuildParameters.SourceDirectoryPath + "/**/*.csproj")
    - GetFiles(BuildParameters.SourceDirectoryPath + "/**/*.Tests.csproj");

var settings = new DotNetCorePackSettings {
    NoBuild = true,
    Configuration = BuildParameters.Configuration,
    OutputDirectory = BuildParameters.Paths.Directories.NuGetPackages,
    ArgumentCustomization = (args) => {
        if (BuildParameters.ShouldBuildNugetSourcePackage)
        {
            args.Append("--include-source");
        }
        return args
            .Append("/p:Version={0}", BuildParameters.Version.SemVersion)
            .Append("/p:AssemblyVersion={0}", BuildParameters.Version.Version)
            .Append("/p:FileVersion={0}", BuildParameters.Version.Version)
            .Append("/p:AssemblyInformationalVersion={0}", BuildParameters.Version.InformationalVersion);
    }
};

foreach (var project in projects)
{
    DotNetCorePack(project.ToString(), settings);
}

关于msbuild - 使用 Cake 为 .Net Standard 2.0 lib 构建 NuGet 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47345500/

相关文章:

c# - 我有一个 .net 4.7 项目,但我无法添加对 NetStandard 2.0 的引用

.net - 从 Powershell 构建 MSI 包

msbuild - 出现编译错误时立即停止MSBuild处理

.NET YUI 压缩器 : How to include all but one css/js files from the same directory?

SSIS 项目无法在自托管代理上构建

.net - MSBuild 在其他 .NET Framework 项目的解决方案中找不到 .NET Standard 项目的包

msbuild PackageReference.PrivateAssets = 全部似乎不起作用

azure - 可以使用 CosmosDB (DocumentDB) Xamarin 和 dot .net 标准库。

c# - 如何在第一个cake文件编译成功的基础上一个一个运行两个cake文件?

c# - 如何使用蛋糕仅更新 assemblyinfo.cs 中的版本信息?