visual-studio - 从 Visual Studio 构建 NuGet 包

标签 visual-studio msbuild nuget-package

我正在尝试通过 NuGet 包和私有(private)源共享内部公司程序集。此程序集面向 .NET Framework 4.6.1。我希望这些 NuGet 包在发布构建期间从 Visual Studio 自动打包。我知道我可以添加 <GeneratePackageOnBuild>true</GeneratePackageOnBuild>到.csproj。我不确定这是否是特定于 .NET Standard 的属性,但它似乎部分有效。但是,当我构建时,我得到

error MSB4044: The "GetPackOutputItemsTask" task was not given a value for the required parameter "PackageOutputPath".

我一直在尝试学习如何从 Visual Studio 中传递此参数,但我没有看到很多关于参数的文档,除非从命令行手动调用它。在 Visual Studio 中是否有一种简单的方法可以做到这一点?我要解决这个问题了吗?

编辑:这是使用 .NET Framework 类库。我可以从命令行运行 pack 命令,并使用 /p:PackageOutputPath="path\here" 为其提供所需的参数。 .这似乎是为 .NET Core 和 Standard 项目设计的,Visual Studio 可能无法处理打包 .NET Framework 项目。

最佳答案

中启用构建打包“非 SDK”项目,使用旧的 .NET 框架 (例如:4.5.1)和visual studio 2019 没有 使用自定义 Target .您需要执行以下步骤:

  • 添加第一个PropertyGroup标记 csproj
  • 添加最少的标签 AuthorsPackageOutputPath
  • 检查相同的PropertyGroupGeneratePackageOnBuild

  • 现在变量将被传递给内部触发的msbuild -t:Pack命令。

    这是一个工作配置示例,请确保这是第一个 <PropertyGroup> .csproj :

      <PropertyGroup>
        <Title>packageid</Title>
        <Description>your description</Description>
        <Version>1.1.1</Version>
        <ReleaseNotes>New package system</ReleaseNotes>
        <Authors>authors</Authors>
        <Owners>owners</Owners>
        <Copyright>your copyrights</Copyright>
        <PackageOutputPath>bin\Package</PackageOutputPath>
        <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
      </PropertyGroup>
    

    如果您正在寻找引用资料,请点击此处:
  • how to create a nuget package with msbuild
  • all possible tags to set on the csproj on the first PropertyGroup
  • 关于visual-studio - 从 Visual Studio 构建 NuGet 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630528/

    相关文章:

    android - 如何设置 Cordova?

    用于 Visual Studio 的 C# 文档插件

    c# - Webdeploy权限问题

    .net - 无法使用 dotnet cli 删除 nuget 包

    visual-studio - 在将 NuGet 安装为 VS 扩展的情况下重新安装 NuGet 包

    azure - VSTS Build vNext NuGet 自定义包源

    visual-studio - Visual Studio : NuGet Package Source requires credentials

    asp.net - 需要安装Dnx Runtime软件包。请参阅输出窗口以获取更多详细信息

    msbuild - 你如何编写一个 MSBuild 任务来支持取消?

    visual-studio-2013 - 使用 Microsoft.Build.Evaluation 解析实际引用路径