Публикация .net ядро ​​консоли приложения, как FDD не вариант?

Вопрос задан: 8 месяцев назад Последняя активность: 8 месяцев назад
up 1 down

У меня есть несколько консольных приложений небольшие хелперов, написанных на C# с использованием ядра .net. Когда я пытаюсь опубликовать их через Visual Studio У меня есть только вариант «Portable» в целевой среде выполнения. Я не могу отменить его. Это делает так, вывод включает в себя время автономной работы, которые мне не нужны.

Если я пытаюсь использовать CLI для публикации работает только «DotNet опубликовать -c Release» команда все еще включает в себя время автономной работы.

Я пытался обновить ядро ​​.net SDK и приложение 2.2, который не давал мне больше возможностей, и Google не помогает.

Ниже приводится csproj одной из консольных приложений: .csproj файл

Ниже мой публиковать варианты в VS 2017: публиковать варианты

Я искал Google в течение бесчисленных часов, пытаясь найти решение. Но каждое решение, которое я пытался до сих пор включает в себя время автономной работы при публикации.

Так что это мое последнее средство и очень надеюсь, что кто-то здесь имеет решение.

1 ответ

up 0 down

Когда я пытаюсь опубликовать их через Visual Studio У меня есть только вариант «Portable» в целевой среде выполнения. Я не могу отменить его.

Portable есть (насколько я знаю) вариант каркасного зависит развертывание (FDD) в Visual Studio 2017.

Если я пытаюсь использовать CLI для публикации работает только «DotNet опубликовать -c Release» команда все еще включает в себя время автономной работы.

Этот официальная документация Microsoft по приложениям Основных публикаций .NET с CLI четко определяет dotnet publish -c Release как вариант FDD для командной строки.

[T] он включает в себя выход автономной работы, которую я не нужно.

А скелетный «Hello World» консольное приложение (dotnet new console) Создан в .NET 2.2 Ядра и опубликован с dotnet publish -c Release производит четыре файла в папке публикации (например, appname.deps.json, appname.dll, appname.pdb а также appname.runtimeconfig.json).

В противоположность этому, полностью автономен развертывание (SCD) одного и того же по умолчанию «Hello World» консольное приложение опубликовано с dotnet publish -c Release -r <RID> --self-contained true (RIDs в списке вот) Имеет приблизительно 217+ файлов (212-непрограммной .dlls) и ~ 66MB.

Я не уверен, если вы имеете в виду эти 212 .dlls когда вы говорите, у вас есть ненужная автономная работа. Но если это не то, что вы имеете в виду, то, как предложение, вы можете заглянуть в свой собственный код (или Enums а также SharedHelpers проекты, к примеру) для большего понимания этого вопроса.

Другим вариантом может быть просто де-дублировать любые произведенные автономной работы (например, использовать одни и те же среды выполнения для нескольких приложений, в зависимости от обстоятельств).