.NET Core Global To и автономный exe - PullRequest
1 голос
/ 10 апреля 2019

Я создаю исполняемый файл, который хочу использовать как «глобальный инструмент dotnetcore», а также как отдельный исполняемый файл. Вот как выглядит мой csproj:

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <LangVersion>7.1</LangVersion>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
    <PackAsTool>true</PackAsTool>
    <IsPackable>true</IsPackable>
    <ToolCommandName>HostRunner</ToolCommandName>
    <PackageOutputPath>./nupkg</PackageOutputPath>
    <AssemblyName>HostRunner</AssemblyName>
  </PropertyGroup>

Я могу запустить dotnet pack без проблем, но когда я запускаю

dotnet publish my.csproj -r=win10-x64 -c=Debug --self-contained

Я получаю сообщение об ошибке error NETSDK1053: Pack as tool does not support self contained.

Что я делаю не так?!

Ответы [ 3 ]

1 голос
/ 10 апреля 2019

Вам нужно два csprojs.Один для пакета nuget и один для exe.Заставьте exe one использовать пакет nuget 1.

0 голосов
/ 18 апреля 2019

Та же проблема здесь, обнаружил повтор на GitHub

, только что удалил директиву

<PackAsTool>true</PackAsTool>

в файле .csproj, она просто работала как прежде.

0 голосов
/ 17 апреля 2019

Я столкнулся с той же проблемой.Я использую отдельную группу свойств, определенную так:

<PropertyGroup Condition="$(TargetFramework) != 'net462'">
    <PackAsTool>true</PackAsTool>
    <ToolCommandName>my-command</ToolCommandName>
    <PackageOutputPath>./nupkg</PackageOutputPath>
</PropertyGroup>
...