我正在尝试创建一个构建我的解决方案,根据需要应用web.config转换,最后将所需的输出(一个内置的web api项目)复制到构建的工件区域。
我正在使用部署... Azure WebApp模板禁用Azure App Service Deploy(因为我们正在迁移到Azure),在构建步骤中使用以下构建参数:
/ p:DeployOnBuild = true / p:WebPublishMethod = Package / p:PackageAsSingleFile = true / p:SkipInvalidConfigurations = true / p:PackageLocation =“$(build.artifactstagingdirectory)\”/ p:AutoParameterizationWebConfigConnectionStrings = False
除了生成的zip文件的结构之外,所有工作都按预期工作,具有以下结构:
{ZipFileName} {项目名\内容\ C_C \一个\ 1 \ S \ API {项目名\ OBJ \发布\包\ PackageTmp ... {BuildContent}
如果可能的话,我希望内容位于已发布的zip文件的根目录下。使用Powershell或许多其他内置构建任务来操作$(build.artifactstagingdirectory)内容的最佳方法是什么?
答案 0 :(得分:2)
您无需担心,因为在部署到Web服务器(例如IIS,Azure Web App)后,它不会保留文件夹结构(只是PackageTmp文件夹中的文件和文件夹)
如果您仍需要将文件包含在PackageTmp文件夹中,则可以通过Archive Files步骤将构建步骤添加到存档文件到zip文件。
对于Visual Studio Build步骤,请指定/ p:DeployOnBuild = true到MSBuild Arguments。