msbuild pack命令包含目录结构

时间:2017-11-14 20:31:13

标签: msbuild azure-pipelines asp.net-core-2.0 octopus-deploy

我使用dotnet core 2.0,在Visual Studio Team Services(VSTS)中构建。我添加了内置的Visual Studio Build步骤,并使用带有以下参数的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_C\a\1\s\src\MyProjectName\obj\Release\netcoreapp2.0\PubTmp\Out

有没有办法压缩项目文件并将其存放在zip文件的根目录中?我有一个使用一些额外步骤的解决方法,但能够使用单个构建步骤同时拉上所有内容会很好。

修改

我们使用Octopus Deploy部署到Azure。

1 个答案:

答案 0 :(得分:1)

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

enter image description here

对于Visual Studio Build任务,您可以尝试指定/P:PackageTempRootDir=""参数,它将删除源路径。

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