【发布时间】:2019-10-30 17:09:16
【问题描述】:
我正在尝试通过 NuGet 包和私有源共享内部公司程序集。此程序集面向 .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 项目。
【问题讨论】:
-
@LexLi 即使在 4.5.2 非 SDK 项目上,也可以使用
NuGet.Build.Tasks.Pack打包构建。您可以使用msbuild -t:pack并编辑 csproj。我在下面添加了完整的答案。
标签: visual-studio msbuild nuget-package