我正在尝试通过 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 Authors
和 PackageOutputPath
PropertyGroup
有 GeneratePackageOnBuild
现在变量将被传递给内部触发的
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>
如果您正在寻找引用资料,请点击此处:
PropertyGroup
关于visual-studio - 从 Visual Studio 构建 NuGet 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630528/