I have created an ASP.NET Core Web API app using Visual Studio 2017 (Community Edition). I could successfully publish to an Azure App Service using Visual Studio.

I now want to set up CI/CD using VSTS. I used the 'Configure Continuous Delivery' option from Visual Studio which created a project in VSTS and created a build definition. I had to create a new build definition based on the 'ASP.NET Core' template in VSTS in order to avoid Nuget restore errors. The solution now builds and the tests are run but the 'Publish' task completes with a warning-

##[warning]No web project was found in the repository. Web projects are identified by the presence of either a web.config file or wwwroot folder in the directory.

The 'Publish Artifact' task has a similar warning -

##[warning]Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.

And obviously, the build does not produce any artifacts.

Do I need to add any build tasks to the default ASP.NET Core build template? How can I publish my Web API to Azure using VSTS?


Solution 1:

As the warning message, your repository seems has no web project. So you should deselect the Publish Web Projects option in .NET Core publish task, and specify your .csproj in project(s) option.

enter image description here

And you can also find the hint message for Publish Web Projects option as below:

If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory.

Solution 2:

This may help you..

I also faced this error according to my case i use wwwroot folder for save my files

project.csproj

  <ItemGroup>
    <Folder Include="wwwroot\FoodItem\" />
    <Folder Include="wwwroot\Shops\" />
  </ItemGroup>

after i push in to the vsts there were no wwwroot folder in side repo. because of that i got this error then again i pushed wwwroot with sub folders error fixed