我正在开发一个开源库,它主要由一个面向 .NET Standard 2.0 的类库项目组成。最重要的是,我还实现了一个控制台应用程序,它是这个库的 CLI。控制台项目(出于历史原因)仅针对 .NET Framework 4.6.2。
现在我想知道为了让社区可以使用这个控制台应用程序,最佳实践是什么。在最广泛的层面上,我看到了两种可能性:
- 将控制台应用程序作为单独的 NuGet 交付。
- 在与类库相同的 NuGet 中发布控制台应用程序,因为它只是一个次要的附加组件,并不能证明自己的包是合理的。
从历史上看,我一直在使用第二种方法,但考虑到类库可以用于多目标场景,我不确定了。也许将控制台应用程序分离到自己的 NuGet 中会更干净,这样它对完整 .NET 框架的依赖就很清楚了。
无论哪种方式,我都想知道控制台 exe 在 NuGet 的文件结构中属于哪个位置。从历史上看,我一直把它放在下面,tools\net462
但是关于这个页面tools
上文件夹的评论让我不安全:
可从包管理器控制台访问的 Powershell 脚本和程序
我不一定想象有人使用包管理器控制台中的 CLI。相反,它会在某个外壳中用作独立的 exe。