我有一个包含多个项目的aspnet MVC 5解决方案,我需要使用azure CI和CD发布主项目,因此我配置了azure构建管道(请参阅附件以获取配置)。但是当生成工件时,我注意到没有带部署文件的bin文件夹。此行为的可能原因是什么?
This is the generated artifact
This is Solution Configuration task
This is publish artifact configuration task
This is link for the logs of the pipeline
This is The error when i chose the solution instead of csproj
答案 0 :(得分:0)
此行为的可能原因是什么?
根据您提供的图像,如果在Visual Studio生成任务中选择项目文件.csproj 而不是解决方案文件.sln ,则可以重现此问题:
这是因为如果我们选择项目文件.csproj
,则在构建项目时会出现警告:
Warning : The OutputPath property is not set for project 'ASP.NETMVC.csproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='release' Platform='any cpu'. You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project.
尽管通过了任务的结果,但由于上述警告,输出未正确输出。
构建成功的原因是未生成bin
文件夹。
要解决此问题,我们在Visual Studio Build任务中选择解决方案文件:
然后警告消失,并生成bin
文件夹:
更新:
当我选择解决方案而不是csproj时,出现相关错误 由于缺少参考文献,导致构建失败。
那是因为您只还原了nuget restore任务中的packages.config文件之一。您需要将其更改为.sln
文件而不是packages.config
文件。
此外,要解决您以前的问题,我们可以选择.sln
文件而不是项目文件(我之前回答过。)。或者,您可以将默认变量 BuildPlatform 从any cpu
更改为AnyCPU
(移动空格)。
希望这会有所帮助。