【发布时间】:2020-04-30 18:54:19
【问题描述】:
我最近created a command-line tool 在命令行创建 ClickOnce 包。这利用Microsoft.Build.Tasks.Core 创建应用程序和部署清单文件。不幸的是,它还引入了针对 .Net Framework 的要求,因为此包的 .Net Core 版本不包含生成 ClickOnce XML 文件所需的 ApplicationManifest 和 DeployManifest 对象。
我很想将我的应用程序打包为一个全局工具,并将其发布到 NuGet。不幸的是,这仅适用于 .Net Core 程序集。当我尝试将我的项目打包为工具时(通过添加<PackAsTool>true</PackAsTool>),我得到error NETSDK1054: only supports .NET Core.
所以我认为我有三个选择:
- 忘记将全局工具发布到 NuGet
- 移除对
Microsoft.Build.Tasks.Core的依赖,从头开始构建这2个XML文件 - 创建一个 .Net Core 命令行应用程序,它只会将 StdIo 传递给 .Net Framework 应用程序,并将两者打包为一个全局工具。
如果可能的话,我想避免使用选项 2,因为 XML 模式很重要,手动滚动 XML 可能是错误的主要来源。
我不确定选项 3 是否合适,它(如果有效)意味着发布一个对 .Net Framework 具有隐藏依赖关系的 NuGet 全局工具 - 这可能被认为是错误的形式。
我错过了任何选择吗?
【问题讨论】:
标签: .net .net-core nuget packaging