开发人员要求使用网站项目而不是Web应用程序项目进行.net部署。我能够与Web应用程序项目连接并使用持续集成,但在使用网站时,无法找到用于部署的已编译文件:
#[debug]check path : D:\a\_tasks\PublishBuildArtifacts_2ff763a7-ce83-4e1f-bc89-
0ae63477cebe\1.142.2\task.json
##[debug]set resource file to: D:\a\_tasks\PublishBuildArtifacts_2ff763a7-ce83-4e1f-bc89-0ae63477cebe\1.142.2\task.json
##[debug]system.culture=en-US
##[debug]PathtoPublish=D:\a\1\a
##[debug]check path : D:\a\1\a
##[debug]ArtifactName=drop
##[debug]ArtifactType=Container
##[debug]system.hostType=build
##[warning]Directory 'D:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.
查看构建过程,它将部署的副本编译到PrecompiledWeb文件夹而不是调试文件夹,这似乎解释了为什么它无法找到结果。有没有人有幸与网站项目部署或你遇到上述问题?
Azure DevOps持续集成asp.net网站项目而不是Web应用程序
由于该项目是asp.net网站,当您使用MSBuild发布asp.net网站项目时,可能需要使用website.publishproj
文件而不是.sln
文件。
命令行如:
msbuild.exe "<PathToTheFile>\website.publishproj" /p:deployOnBuild=true /p:publishProfile=WebsiteTestDemo /p:VisualStudioVersion=1x.0
使用此设置,MSBuild不会创建PrecompiledWeb
文件夹,并且发布使用配置文件中的设置。
查看my previous thread了解更多详情。
网站项目的发布过程不会进入构建过程。对于网站项目,由于没有正式的构建过程,我们没有什么可以真正扩展。
希望这可以帮助。