Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Установите одного из клиентских проектов в качестве стартового и запустите приложение; оно будет функционировать точно так же, как ранее.
Смените номер версии библиотеки
CarLibrary
Publish
CarLibrary
add package
add package
Опубликование консольных приложений (обновление в версии .NET 5)
Итак, имея приложение
CarClient
CarLibrary
https://docs.microsoft.com/ru-ru/dotnet/core/rid-catalog
На заметку! Опубликование приложений ASP. NET Core — более сложный процесс, который будет раскрыт позже в книге.
Опубликование приложений, зависящих от инфраструктуры
Развертывание, зависящее от инфраструктуры, представляет собой стандартный режим для команды
dotnet publish
dotnet publish
На заметку! Команда
publish
Debug
Приведенная выше команда помещает ваше приложение и поддерживающие его файлы (всего 16 файлов) в каталог
binDebugnet5.0publish
*.dll
CarLibrary.dll
CSharpCarClient.dll
CSharpCarClient.exe
dotnet.exe
CSharpCarClient.dll
Чтобы создать версию
Release
binreleasenet5.0publish
dotnet publish -c release
Опубликование автономных приложений
Подобно развертыванию, зависящему от инфраструктуры, автономное развертывание включает весь прикладной код и сборки, на которые производилась ссылка, а также файлы .NET Core Runtime, требующиеся приложению. Чтобы опубликовать свое приложение как автономное развертывание, выполните следующую команду CLI (указывающую в качестве выходного местоположения каталог по имени
selfcontained
dotnet publish -r win-x64 -c release -o selfcontained --self-contained true
На заметку! При создании автономного развертывания обязателен идентификатор исполняющей среды, чтобы процессу опубликования было известно, какие файлы .NET Core Runtime добавлять к вашему прикладному коду.
Команда помещает ваше приложение и его поддерживающие файлы (всего 235 файлов) в каталог
selfcontained
Опубликование автономных приложений в виде единственного файла
В большинстве ситуаций развертывание 235 файлов (для приложения, которое выводит всего лишь несколько строк текста) вряд ли следует считать наиболее эффективным способом предоставления вашего приложения пользователям. К счастью, в .NET 5 значительно улучшена возможность опубликования вашего приложения и межплатформенных файлов исполняющей среды в виде единственного файла. Не включаются только файлы собственных библиотек, которые должны существовать вне одиночного файла ЕХЕ.
Показанная ниже команда создает однофайловое автономное развертывание для 64-разрядных ОС Windows и помещает результат в каталог по имени
singlefile
dotnet publish -r win-x64 -c release -o singlefile --self-contained
true -p:PublishSingleFile=true
Исследуя файлы, которые были созданы, вы обнаружите один исполняемый файл (
CSharpCarClient.exe
CSharpCarClient.pdb
CSharpCarClient.exe
Напоследок важно отметить, что собственные библиотеки тоже можно поместить в единственный файл. Модифицируйте файл
CSharpCarClient.csproj
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<PackageReference Include="CarLibrary" Version="1.0.0.3" />
</ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<b> <IncludeNativeLibrariesForSelfExtract>true</b>