我们有一个 azure 的管道,它在 $(build.artifactstagingdirectory) 中生成 zip 工件。稍后我们将其提取并部署到目标文件夹。这对于网站来说效果很好。 msbuildargs 如下所示:-
msbuildArgs : '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
我们有一个 Windows 服务,它不会生成任何 zip 工件。关注article后。我在 msbuildargs 中添加了/p:OutDir="$(build.stagingDirectory),现在我可以看到文件,但看不到 zip 文件。我们实际使用的是它。
msbuildArgs : '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)" /p:OutputPath="$(Build.ArtifactStagingDirectory)"'
是否有针对 zip 工件的 csproj 设置? Windows 服务有什么具体设置吗?找不到 PackageAsSingleFile 的更多文档。
最佳答案
is there any csproj settings for zip artifact? any specific setting for windows service ? Could not find more documents for PackageAsSingleFile.
大多数 MSBuild 参数都适用于 ASP .NET 项目,对于 Windows 服务(控制台应用程序)没有任何作用。
我们只需要使用/p:OutDir=$(Build.ArtifactStagingDirectory)
。这将告诉 MSBuild 将构建输出放入工件暂存目录中。
但这仍然不会生成带有参数 /p:OutDir=$(Build.ArtifactStagingDirectory)
的 zip 包。如果你想生成 zip,我们可以使用任务 Archive files .
此外,我们可以将/p:OutDir
更改为其他文件夹,以便我们可以使用Archive files任务来生成zip,例如:
/p:OutDir=$(System.DefaultWorkingDirectory)/output
然后使用归档文件任务:
关于Windows 服务的 Azure 构建任务 :- no zip under $(build. 工件暂存目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67538906/