Ненужные библиотеки в консольном приложении dotnet core?
Я просто пытаюсь построить пример dotnet-core 2.0
консольное приложение, которое должно быть опубликовано в виде исполняемого файла. Это требует от меня, чтобы добавить RuntimeIdentifier
в csproj
файл. После публикации моего примера приложения для win-x64
Я получаю выходной каталог, который содержит около 200 DLL и мой исполняемый файл. Я чувствую, что это слишком много - только напечатать простую Hello World
на консоль.
Есть ли способ уменьшить количество DLL? В этом старом (и теперь наверняка устаревшем документе) названном сокращении зависимостей пакетов для библиотек предлагается ручной подход.
Есть ли способ уменьшить зависимости в dotnet-core 2.0
? Или это не проблема, и мне все равно?
Просто для полноты, вот мой пример определения проекта:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeIdentifiers>Portable;win-x64</RuntimeIdentifiers>
</PropertyGroup>
</Project>
1 ответ
Все зависимости полезны определенным образом (некоторые классы каждого используются, чтобы заставить ваше приложение работать), поэтому, когда вы говорите "ненужные", вы ошибаетесь.
Пока что нет лучшего инструмента, чем недавно анонсированный IL Linker, чтобы уменьшить размер развертывания,