dotnet pack命令不会为测试和规格项目生成.nuget软件包吗?

时间:2019-04-19 16:26:42

标签: .net nuget-package

我们有多个项目的解决方案,其中包括带有单元测试和规格测试的项目。当我们在解决方案上运行dotnet pack命令时,不会为单元测试和规格测试项目生成软件包。这是一件好事,它排除了测试项目。只是想了解dotnet pack命令如何将项目从打包中排除。

在实验中,我注意到当我在任何项目上向xunit和xnit.runner.visualstudio添加项目依赖项时,dotnet pack不会为该项目生成软件包。

dotnet pack C:\ Projects \ SysScore_Integration \ SysScore \ SysScore.sln-输出C:\ Projects \ LocalNuGet \ /p:PackageVersion=1.0.1.8

1 个答案:

答案 0 :(得分:0)

将属性<IsPackable>true</IsPackable>添加到.csproj文件即可解决此问题。

显然,要使一个项目被视为“测试项目”,必须具有对xUnit的引用-即使该项目不包含测试。例如,这会干扰正在编写使用或扩展测试框架属性的可重用测试框架的情况。我希望dotnet pack至少会显示一条警告,解释为什么忽略该命令,但是无论谁实施了该命令,显然都不同意。