.net - dotnet pack 命令不会为测试和规范项目生成 .nuget 包?
问题描述
我们有一个包含多个项目的解决方案,其中包括带有单元和规范测试的项目。当我们在解决方案上运行 dotnet pack 命令时,不会为单元和规范测试项目生成包。这是一件好事,它排除了测试项目。只是想了解 dotnet pack 命令如何不将项目排除在打包之外。
在试验过程中,我注意到当我在任何项目上将项目依赖项添加到 xunit 和 xnit.runner.visualstudio 时,dotnet pack 不会为该项目生成包。
dotnet 包 C:\Projects\SysScore_Integration\SysScore\SysScore.sln --输出 C:\Projects\LocalNuGet\ /p:PackageVersion=1.0.1.8
解决方案
将属性添加<IsPackable>true</IsPackable>
到 .csproj 文件可以解决此问题。
显然,引用 xUnit 是使项目被视为“测试项目”所需的全部 - 即使该项目不包含任何测试。这会干扰例如编写使用或扩展测试框架属性的可重用测试框架的情况。我希望dotnet pack
至少打印一条警告,解释为什么该命令被忽略,但实施此操作的人显然不同意。
推荐阅读
- html - 角度的生命周期钩子
- django - ValueError: Cannot assign "'1'": "mymodel.provider" must be a "Providers" instance in django 使用scrapy将爬取的数据保存到数据库时
- javascript - onClick 函数在运行时有效,但在实际点击时无效
- git - 如何通过 gitl-ci.yml 在 gitlab 远程创建新分支
- arrays - 返回函数不呈现表格行React JS
- api - 如何在 Django 的 POST API 中为用户设置特定列的固定值?
- javascript - jQuery 数据表重新加载
- vba - 如何通过 MS Access 在电子邮件中添加附件?
- bootstrap-4 - 如何修复百里香按钮?
- c# - 通过 rfc8141 匹配 URN 的正则表达式