Reputation: 1741
I am trying to create a nuget package for my web application but it is not producing any .nupkg outputs. I am using Visual Studio 2017 15.3.0.
To create the project I do the following:
Then I go to a command prompt in the directory with the csproj file in and type: "Dotnet Pack"
I get only the following output:
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Core Copyright (C) Microsoft Corporation. All rights reserved.
But no nuget packages are created. I am expecting something like:
Producing Nuget Package "App.1.0.0" for App
Do I need to do anything else eg to the csproj file ?
Upvotes: 18
Views: 8105
Reputation: 4411
I had the same issue with VS2022, looked at the documentation and noticed they "silently deprecated" the command.
You now should add the following in your .csproj file:
<Target Name="CopyPackage" AfterTargets="Pack">
<Copy SourceFiles="$(OutputPath)..\$(PackageId).$(PackageVersion).nupkg" DestinationFolder="D:\NuGet" />
</Target>
You then generate a package and copy it to the "right" folder by calling
dotnet msbuild -t:pack -property:Configuration=Release "ProjectFile.csproj"
Have a look at the link, the title is a bit confusing but there seemed to have been a change after With MSBuild 15.1+
Upvotes: 0
Reputation: 100543
Web applications are not packable by default. To change this, modify your csproj file to include this property:
<PropertyGroup>
<IsPackable>true</IsPackable>
</PropertyGroup>
Note that as of now (2017) there isn't a good story for "library web projects" or web project packages that work for all scenarios you would want to use a NuGet package for. But this property will at least unblock producing a package.
Upvotes: 38