【发布时间】:2019-08-30 14:35:43
【问题描述】:
我正在尝试构建 Asp.Net 框架 461 Web 应用程序并将 dll 打包到 NuGet 包中,该包将用于在 Octopus 中进行部署。
请注意,我正在使用:
- ADO 中的内置构建解决方案任务。
- 内置Octopus提供的Create Octopus Package任务来打包NuGet pkg
它构建了解决方案,并将工件以部署包格式与 xxx.deploy 批处理文件打包在一起。但是,当我尝试部署到服务器上时,它迫使我在我不想做的服务器上安装“Web Deploy (msdeploy.exe)”。
NuGet 包的内容如下:构建的内容嵌入在 zip 文件和额外的部署文件中。
我们的前 DevOps 之前管理过这些构建,当我将他的 NuGet 包与我的比较时,它们完全不同。在他的版本中,所有的 aspx、ascx 和 bin 文件夹都位于 NuGet 包的顶层。
我想打包我的 NuGet 包而不使用这些额外的部署文件。
我的 AzureDevOps 中的当前构建参数是
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
我尝试将其更改为/p:WebPublishMethod=FileSystem /p:PackageAsSingleFile=false,但仍然无法实现我想要的 NuGet 包格式。
它将生成的输出生成到 -> $myproject\obj\Release\Package\PackageTmp 位置。
我想知道是否有一种方法可以在没有额外的 zip 文件的情况下生成 NuGet 包?还是我需要手动编写powershell脚本并执行Octo.exe来打包那个...\PackageTmp目录下的内容?
是否有创建 Nuget 包任务来定义我只想打包 ..\PackageTmp 目录?
【问题讨论】:
标签: azure azure-devops nuget