我需要为MSBuild "Release“发布任务中的根文件/文件夹指定什么?

.NET发行版基本上是二进制文件吗?因为对于AngularOutput构建,我必须指定AngularOutput的路径,但是对于.NET版本,我不知道这是什么路径,我认为这是整个项目,哪一个means...its是二进制文件?

预期人工制品:

更新:凯文的YAML:之后产生的工件

inside _PublishedWebsites

跟随update3,在windows代理上运行时:

Update#4:使用VSBuild
steps:
- task: VSBuild@1
displayName: '.Net build | Build solution'
inputs:
solution: 'Project123/*.csproj'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: AnyCPU
configuration: Release
msbuildArchitecture: x64结果是一样的,放在很长的路上:

update#5:使用/p:PublishProfile=Project123.pubxml MSBuild arg代替,并在windows代理上运行,构建完成得很好,但这次我收到了发布任务的警告:
##warningDirectory 'D:\a\1\a‘为空。不会添加任何东西来构建工件‘发布’。
我尝试在发布概要文件arg的同时将/p:OutputPath=$(build.artifactstagingdirectory)添加到MSBuild args中,结果与我之前发布的结果相同:

备注:
我们真的需要/p:DeployOnBuild=true吗?我理解这是为了部署,但我认为我们不希望或者应该部署在这个过程中,因为我们已经发布了一个版本,专门用于将已发布的工件部署到App。
发布于 2021-03-26 02:13:49
,我需要为MSBuild“发布”的发布任务中的根文件/文件夹指定什么?
使用Msbuild任务生成项目时,默认情况下输出文件将保存在Bin文件夹中。例如:$(build.sourcesdirectory)/Projectname/bin。
根据项目的结构,特定路径可能有所不同。
我建议您可以在msbuild任务中添加Msbuild参数(例如/p:OutputPath=$(build.artifactstagingdirectory))。
例如:

在这种情况下,可以将特定路径设置为输出路径。这将使您更容易存档和发布工件。
更新:
Ubuntu代理:
如果我不设置msbuild,输出文件将显示在bin文件夹中:

当我添加msbuild时,它会将文件上传到目标路径:

他们有相同的文物内容。
Update2:
您可以尝试下面的示例来创建Azure应用程序服务包。
经典:

Yaml:
steps:
- task: NuGetToolInstaller@0
displayName: 'Use NuGet 4.4.1'
inputs:
versionSpec: 4.4.1
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: Sample.sln
- task: MSBuild@1
displayName: 'Build solution Sample.sln'
inputs:
solution: Sample.sln
platform: '$(BuildPlatform)'
configuration: Release
msbuildArguments: '/p:OutputPath=$(build.artifactstagingdirectory)'
- task: ArchiveFiles@2
displayName: 'Archive $(Build.ArtifactStagingDirectory)'
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
condition: succeededOrFailed()结果:

Update3:
steps:
- task: NuGetToolInstaller@0
displayName: 'Use NuGet 4.4.1'
inputs:
versionSpec: 4.4.1
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: Sample.sln
- task: MSBuild@1
displayName: 'Build solution Sample.Web/Sample.Web.csproj'
inputs:
solution: Sample.Web/Sample.Web.csproj
platform: '$(BuildPlatform)'
configuration: Release
msbuildArguments: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'https://stackoverflow.com/questions/66793504
复制相似问题