有可能从中制作一个全局工具吗.Net Framework项目



我最近创建了一个命令行工具,用于在命令行创建ClickOnce包。这就利用了微软。建筑任务。Core来创建应用程序和部署清单文件。不幸的是,它还引入了一个目标要求。Net Framework,作为。此包的Net Core版本不包含生成ClickOnce XML文件所需的ApplicationManifest和DeployManifest对象。

我很想将我的应用程序打包为一个全局工具,并将其发布到NuGet。不幸的是,这只能用于。Net Core组件。当我尝试将我的项目打包为一个工具时(通过添加<PackAsTool>true</PackAsTool>(,我得到了error NETSDK1054: only supports .NET Core.

所以我想我有三个选择:

  1. 忘记向NuGet发布全局工具
  2. 删除对Microsoft.Build.Tasks.Core的依赖,只需从头开始构建这两个XML文件
  3. 创建。Net Core命令行应用程序,它只将StdIo传递到。Net Framework应用程序,并将两者打包为全局工具

如果可能的话,我希望避免选择选项2,因为XML模式不是微不足道的,手动滚动XML可能是错误的主要来源。

我不确定选项3是否合适,如果有效的话,它将意味着发布一个隐藏依赖的NuGet全局工具。Net Framework-这可能被认为是糟糕的形式。

我错过了什么选择吗?

给定经过的时间,我认为答案必须是1。

我认为正确的方法是制作一个独立的UI,用传统的安装程序打包,它有一个命令行界面可供那些希望使用它的人使用

最新更新