Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deploy project with xUnit reference as NuGet package

Tags:

c#

nuget

xunit

I have a library that contains some classes, which I need in several Unit Test projects. The library should be deployed as a NuGet package in my private repository. I already deployed some NuGet packages there, so I know what I have to do.

BUT: Inside of this library I need a reference to xUnit. And as soon as I add this reference, there is no more .nupkg file created when execute dotnet pack.

Another interesting effect is, that the project icon turns into a Unit Test icon as soon as I add xUnit:

enter image description here

Steps to reproduce:

  1. Create a Class Library

  2. Add a reference to the xUnit NuGet package

  3. Right click the project and click on pack

Expected Behvior: there should be a .nupkg file in ./bin/Debug

Actual Behevior: there is no such file.

like image 760
timnot90 Avatar asked May 14 '19 07:05

timnot90


People also ask

Can I use xUnit for .NET framework?

It's an open source unit testing tool for . Net framework that's compatible with ReSharper, CodeRush, TestDriven.Net, and Xamarin. You can take advantage of xUnit.Net to assert an exception type easily.


1 Answers

According to https://github.com/dotnet/cli/issues/7539, some projects seem to be "not packable" by default. You have to enable this manually by adding the following lines to your .csproj file:

<PropertyGroup>
  <IsPackable>true</IsPackable>
</PropertyGroup>

After that, the .nupkg file is created expected.

like image 192
timnot90 Avatar answered Sep 30 '22 16:09

timnot90