Как опубликовать полный автономный .NetCoreApp как exe? - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь опубликовать исполняемый exe-файл моего консольного приложения C # .NetCoreApp2.2.

Я написал небольшое приложение на C #, используя IDE-код Visual Studio. Я начал с ввода dotnet new console и открыл проект в коде Visual Studio. Я установил некоторые сторонние библиотеки, такие как log4net и DocumentFormat.OpenXml.

Я могу отлаживать свое приложение в коде Visual Studio - никаких проблем. Я могу запустить dotnet run в исходной директории проекта - без проблем. Я также могу без проблем запустить dotnet publish -c Release -r win10-x64 --self-contained true.

После команды публикации я получаю ожидаемый .exe-файл (и много других файлов?) В ожидаемом подкаталоге.

Теперь к проблеме: Как только я пытаюсь выполнить .exe-файл, я получаю необработанное ожидание.

У меня есть ссылки на сторонние библиотеки, но, насколько я понимаю, автономная опция должна позаботиться об этом - не так ли?

Я гуглил и увидел некоторые результаты, описывающие процесс публикации, говорящий о project.json - файле, которого у меня нет. Также люди описывают, что этот файл будет создан с использованием данной dotnet-команды. Для меня он никогда не будет создан с помощью этой команды - какой-либо дополнительный флаг для установки?

Это мой .csproj-файл

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="log4net" Version="*" />
    <PackageReference Include="Nunit3TestAdapter" Version="3.13.0" />
    <PackageReference Include="NUnit" Version="3.12.0"/>
    <PackageReference Include="System.Configuration.ConfigurationManager" Version="*" />
    <PackageReference Include="DocumentFormat.OpenXml" Version="2.8.1" />
    <PackageReference Include="SixLabors.ImageSharp" Version="1.0.0-beta0006" />
  </ItemGroup>
</Project>

Может ли "*" для версии быть проблемой?

Я ожидал бы получить один .exe-файл (который может быть огромным), который выполняется и показывает тот же вывод, что и я, используя команду dotnet run в каталоге исходных текстов моего проекта.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...