msbuild pack命令包含目录结构

msbuild pack命令包含目录结构,msbuild,azure-pipelines,asp.net-core-2.0,octopus-deploy,Msbuild,Azure Pipelines,Asp.net Core 2.0,Octopus Deploy,我使用的是DotnetCore2.0,构建在VisualStudioTeamServices(VSTS)中。我添加了内置的Visual Studio生成步骤,并使用带有以下参数的msbuild: /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DeployIisAppPath="Default Web Sit

我使用的是DotnetCore2.0,构建在VisualStudioTeamServices(VSTS)中。我添加了内置的Visual Studio生成步骤,并使用带有以下参数的msbuild:

/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true  
/p:SkipInvalidConfigurations=true  
/p:DeployIisAppPath="Default Web Site"  
/p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\MyProject.BuildVersion.zip"
这将构建一个zip文件,但是内部结构很难看,并且包含整个工件暂存目录作为子文件夹。例如,在我到达实际网站文件结构之前,zip文件中的路径是
Content\d\u C\a\1\s\src\MyProjectName\obj\Release\netcoreapp2.0\PubTmp\Out

有没有一种方法可以只压缩项目文件,并将它们放在zip文件的根目录中?我有一个解决办法,使用了一些额外的步骤,但如果能够使用一个构建步骤,也可以将所有内容压缩,那就太好了

编辑


我们使用Octopus Deploy部署到Azure。

由于它是一个dotnet core 2.0项目,您可以通过.NET core任务发布项目:

对于Visual Studio生成任务,您可以尝试指定
/p:PackageTempRootDir=”“
参数,它将删除源路径


另一方面,使用Azure App Service deploy,文件夹结构在部署到Azure后不会保留,您可以通过访问
https://[App name].scm.azurewebsites.net/DebugConsole

检查文件夹和文件。为什么结构很重要?WebDeploy将为您处理部署。@DanielMann-我们使用Octopus部署,我使用的是
部署Azure Web App
步骤。文件按原样进入Azure(但按预期解压缩)。如果有更好的方法,请告诉我。我们有一个QA团队,需要能够部署他们想要测试的特性分支。Azure应用程序服务部署是否提供此功能?它似乎被设置为只在提交到分支时部署。但是谢谢你的其他回答。我最终使用了.NET核心发布任务——这是我使用的替代方案。我正在使用版本2预览版。我建议在新的论坛帖子中单独提问。因此,论坛读者可能很容易识别问题和答案。我认为这与这个问题有关,因为您的回答提到Azure应用程序服务部署,我提到使用一个工具(Octopus Deploy),允许我们在不进行新提交的情况下排队部署。一个简单的是或否(在这个时候,显然新的功能正在不断增加)将不胜感激@ps2goat有许多与Azure应用程序服务部署相关的问题,我们无法在一个线程中一起回答,论坛读者无法轻松识别问题和答案。关于这个问题,我不清楚您的需求的详细工作流程,只是简单的评论,例如,Azure应用程序服务部署是将应用程序部署到Azure的任务,它与分支机构无关。如果您指的是生成源,则可以在手动生成队列时更改分支。对于CI生成,它使用更改并触发生成的当前分支。