Azure devops VSTS发布工件为空,MVC web应用程序部署在prem上

Azure devops VSTS发布工件为空,MVC web应用程序部署在prem上,azure-devops,Azure Devops,正在尝试使用托管生成代理和on-prem发布代理。 Project是一个ASP.NETMVCWeb应用程序,它位于与其他项目的解决方案中。 构建成功完成,但工件文件夹中没有任何内容,因此版本不会执行任何操作 [更新日期:2018年5月22日] 我需要做的是发布到与托管代理相关的某个位置,然后在我的on-prem发行代理中,能够使用copy_files任务将这些文件简单地复制到unc路径 [更新日期:2018年5月23日] 在生成任务中使用这些msbuild参数,我能够获得包含已发布文件的压缩文件

正在尝试使用托管生成代理和on-prem发布代理。
Project是一个ASP.NETMVCWeb应用程序,它位于与其他项目的解决方案中。 构建成功完成,但工件文件夹中没有任何内容,因此版本不会执行任何操作

[更新日期:2018年5月22日] 我需要做的是发布到与托管代理相关的某个位置,然后在我的on-prem发行代理中,能够使用copy_files任务将这些文件简单地复制到unc路径

[更新日期:2018年5月23日]
在生成任务中使用这些msbuild参数,我能够获得包含已发布文件的压缩文件夹。现在唯一的问题是,这些文件位于一个深度嵌套的结构中。所以我要么只需要在发布任务中解压它们,要么防止它们被解压

/t:My_MVCWeb_Project_Name /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
构建日志

构建任务(托管VS 2017代理)。/t参数后面跟着一个项目名称。

生成定义的发布任务

发布定义,仅包含一个copyfiles任务(此任务在prem上运行)

由于使用的是
ASP.NET生成模板,因此需要在
Build
步骤中使用默认的
MSBuild参数:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
或者您需要在发布构建工件之前添加任务
要将所需文件复制到路径
$(build.artifactstagingdirectory)


由于使用的是
ASP.NET生成模板,因此需要在
Build
步骤中使用默认的
MSBuild参数:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
或者您需要在发布构建工件之前添加任务
要将所需文件复制到路径
$(build.artifactstagingdirectory)


您编辑了生成任务定义中一个非常相关的部分:MSBuild参数。生成任务中唯一的MSBuild参数是/t参数,后面跟一个项目名称。那部分看起来不错。这是第一个显示掉落工件为空的屏幕截图。我更新了上面的帖子。您编辑了生成任务定义中一个非常相关的部分:MSBuild参数。生成任务中唯一的MSBuild参数是/t参数,后面跟一个项目名称。那部分看起来不错。这是第一个显示掉落工件为空的屏幕截图。我更新了上面的帖子。我用上面的设置加入了一个复制文件任务,但是当我进入发布工件任务时,我仍然看到消息说没有任何东西被添加到构建工件中。例如,2018-05-23T13:22:09.9376904Z###[警告]目录“D:\a\1\a”为空。将不会向生成项目“drop”添加任何内容。如果我在本地使用msbuild命令,如:msbuild my_solution_name/t:project_name,其中project_name是web项目,我看到的不是生成的bin文件夹,而是生成的obj文件夹,下面是一些包含生成的web文件的文件夹,我终于让它正常工作了。请参阅上面的更新。我仍然需要更改生成任务或发布任务中的msbuild参数,添加一个步骤将文件直接解压缩到web应用程序的文件夹中。我使用上述设置放入了“复制文件”任务,但当我进入“发布工件”任务时,仍然会看到有关未向生成工件添加任何内容的消息。例如,2018-05-23T13:22:09.9376904Z###[警告]目录“D:\a\1\a”为空。将不会向生成项目“drop”添加任何内容。如果我在本地使用msbuild命令,如:msbuild my_solution_name/t:project_name,其中project_name是web项目,我看到的不是生成的bin文件夹,而是生成的obj文件夹,下面是一些包含生成的web文件的文件夹,我终于让它正常工作了。请参阅上面的更新。我仍然需要在构建任务或发布任务中更改msbuild参数,添加一个步骤将文件直接解压缩到web应用程序的文件夹中。