Search code examples
c#.net-corecontinuous-integrationappveyor

AppVeyor CI for .Net Core 2.0. Automatic publication of the nuget package does not work


I want to publish the package on the project page on nuget.org Tell me please, what's wrong with my config, that there isnt call to nuget pack, although there is publish_nuget in the config: true? Or do you have script examples for .net core?

Structure of project: //*********************************************************************

DaDataApiClient__ 
                 DadataApiClient_   
                                 DadataApiClient.nuspec 
                                 DadataApiClient.csproj 
               __                //... sources 
                 DadataApiClient.Test_                                                                  
                                      DadataApiClient.Test.csproj 
                                      //...sources 
               appveyor.yml 
               DadataApiClient.sln 
               ... 
//*********************************************************************************

Now the build is being done, tests are being run, and then the system tries to send packets instead of packing dll into the package (nuget pack). The project is build under .net core 2.0

Сonfig file attached (appveyor.yml)

Build log file of ci ( https://ci.appveyor.com/project/Xambey/dadataapiclient )

Text for the lazy:

version: 1.0.{build} 
branches: 
  only: 
  - master 
skip_branch_with_pr: true 
image: Visual Studio 2017 
configuration: Release 
shallow_clone: true 
dotnet_csproj: 
  patch: true 
  file: '**\*.csproj' 
  version: '{version}' 
  package_version: '{version}' 
  assembly_version: '{version}' 
  file_version: '{version}' 
  informational_version: '{version}' 
environment: 
  matrix: 
  - TOKEN: 
      secure: EFVcZzUo9GxQ+slLBFQc2zhFzlfA9gULAy0cXu5m6mQbyzRYLxnAw3F+Z0Qx0Jef 
    SECRET: 
      secure: Wz456M9HIV13gTGBd4Eh1F+EsMcmwKgqJhG44BFaXTdC0TyX3k02vAoqOSMo9Xd7 
nuget: 
  project_feed: true 
before_build: 
- ps: nuget restore 
build: 
  publish_nuget: true 
  verbosity: minimal 
artifacts: 
- path: '*\*.nupkg' 
deploy: 
- provider: NuGet 
  api_key: 
    secure: MgLMMGChxGhyyhSrWuntCcR83vpMU7geCo8YfmNVFbW8FLtf/GZqQLd3ZdNoMMzY 
  skip_symbols: true 
  artifact: '*\*.nupkg' 
  on: 
    branch: master 
notifications: 
- provider: GitHubPullRequest 
  on_build_success: true 
  on_build_failure: false 
  on_build_status_changed: false

Solution

  • You do not need .nuspec file for new .csproj format. However for AppVeyor to patch and pack .csproj, certain elements should already exist in it. It is discussed in GitHub issue https://github.com/appveyor/ci/issues/1907. So simple adding <Version>1.0.1</Version> to .csproj will fix your patching and packaging.