Можно ли сделать глобальный инструмент из проекта. Net Framework? - PullRequest
0 голосов
/ 30 апреля 2020

Я недавно создал инструмент командной строки для создания пакетов ClickOnce в командной строке. Это позволяет использовать Microsoft.Build.Tasks.Core для создания файлов приложения и манифеста развертывания. К сожалению, он также вводит требование нацеливания. Net Framework, так как. Net Базовая версия этого пакета не содержит объектов ApplicationManifest и DeployManifest , необходимых для создания ClickOnce XML files.

Я бы хотел упаковать свое приложение как глобальный инструмент и опубликовать sh в NuGet. К сожалению, это возможно только для. Net базовых сборок. Когда я пытаюсь упаковать свой проект как инструмент (добавив <PackAsTool>true</PackAsTool>), я получаю error NETSDK1054: only supports .NET Core.

Так что я думаю, что у меня есть три варианта:

  1. Забудьте о публикации глобальный инструмент для NuGet
  2. Удалите зависимость от Microsoft.Build.Tasks.Core и просто создайте 2 XML файлы с нуля
  3. Создайте основное приложение командной строки. Net, которое ничего не делает, кроме передать StdIo в приложение. Net Framework и упаковать их как глобальный инструмент.

Я бы хотел, если возможно, избежать варианта 2, поскольку схемы XML не являются тривиально, и ручная прокрутка XML может быть основным источником ошибок.

Я не уверен, что вариант 3 уместен, это (если бы оно работало) означало бы публикацию глобального инструмента NuGet, который имел скрытая зависимость от. Net Framework - это может считаться плохим тоном.

Я пропустил какие-либо варианты?

...