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