Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Читать онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
1 ... 310 311 312 313 314 315 316 317 318 ... 642
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

    <Copyright>Copyright 2020</Copyright>

    <Authors>Phil Japikse</Authors>

    <Company>Apress</Company>

    <Product>Pro C# 9.0</Product>

    <PackageId>CarLibrary</PackageId>

    <Description>This is an awesome library for cars.</Description>

    <AssemblyVersion>1.0.0.1</AssemblyVersion>

    <FileVersion>1.0.0.2</FileVersion>

    <Version>1.0.0.3</Version>

<b>    &lt;GeneratePackageOnBuild&gt;true&lt;/GeneratePackageOnBuild&gt;</b>

  &lt;/PropertyGroup&gt;

Это приведет к тому, что пакет будет создаваться заново при каждой компиляции проекта. По умолчанию пакет создается в подкаталоге binDebug или binRelease в зависимости от выбранной конфигурации.

Пакеты также можно создавать в командной строке, причем интерфейс CLI предлагает больше параметров, чем среда Visual Studio. Например, чтобы построить пакет и поместить его в каталог по имени Publish, введите показанные далее команды (находясь в каталоге проекта CarLibrary). Первая команда компилирует сборку, а вторая создает пакет NuGet.

dotnet build -c Release

dotnet pack -o .Publish -c Debug

На заметку! Debug является стандартной конфигурацией и потому указывать -с Debug необязательно, но параметр присутствует в команде, чтобы намерение стало совершенно ясным.

Теперь в каталоге Publish находится файл CarLibrary.1.0.0.3.nupkg. Для просмотра его содержимого откройте файл с помощью любой утилиты zip-архивации (такой как 7-Zip). Вы увидите полное содержимое, которое включает сборку и дополнительные метаданные.

Ссылка на пакеты NuGet

Вас может интересовать, откуда поступают пакеты, добавленные в предшествующих примерах. Местоположением пакетов NuGet управляет файл XML по имени NuGet.Config. В среде Windows он находится в каталоге %appdata%NuGet. Это главный файл. Открыв его, вы увидите несколько источников пакетов:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;configuration&gt;

  &lt;packageSources&gt;

    &lt;add key=&quot;nuget.org&quot; value=&quot;https://api.nuget.org/v3/index.json&quot;

         protocolVersion=&quot;3&quot; /&gt;

    &lt;add key=&quot;Microsoft Visual Studio Offline Packages&quot;

         value=&quot;C:Program Files (x86)

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

               Microsoft SDKsNuGetPackages&quot; /&gt;

  &lt;/packageSources&gt;

&lt;/configuration&gt;

Здесь присутствуют два источника пакетов. Первый источник указывает на http://nuget.org/ — крупнейшее в мире хранилище пакетов NuGet. Второй источник находится на вашем локальном диске и применяется средой Visual Studio в качестве кеша пакетов.

Важно отметить, что файлы NuGet.Config по умолчанию являются аддитивными. Чтобы добавить дополнительные источники, не изменяя список источников для всей системы, вы можете создавать дополнительные файлы NuGet.Config. Каждый файл действителен для каталога, в котором он находится, а также для любых имеющихся подкаталогов. Добавьте в каталог решения новый файл по имени NuGet.Config со следующим содержимым:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;configuration&gt;

    &lt;packageSources&gt;

        &lt;add key=&quot;local-packages&quot; value=&quot;.CarLibraryPublish&quot; /&gt;

    &lt;/packageSources&gt;

&lt;/configuration&gt;

Кроме того, вы можете очищать список источников пакетов, добавляя в узел &lt;packageSources&gt; элемент &lt;clear /&gt;:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;configuration&gt;

  &lt;packageSources&gt;

<b>    &lt;clear /</b>&gt;

    &lt;add key=&quot;local-packages&quot; value=&quot;.CarLibraryPublish&quot; /&gt;

    &lt;add key=&quot;NuGet&quot; value=&quot;https://api.nuget.org/v3/index.json&quot; /&gt;

  &lt;/packageSources&gt;

&lt;/configuration&gt;

На заметку! В случае работы в Visual Studio вам придется перезапустить IDE-среду, чтобы обновленные настройки NuGet.Config вступили в силу.

Удалите ссылки на проекты из проектов CSharpCarClient и VisualBasicCarClient, после чего добавьте ссылки на пакет (находясь в каталоге решения):

dotnet add CSharpCarClient package CarLibrary

dotnet add VisualBasicCarClient package CarLibrary

Установив ссылки, скомпилируйте решение и просмотрите целевой каталог (binDebugnew5.0). Вы увидите, что в целевом каталоге находится файл CarLibrary.dll, а файл CarLibrary.nupkg отсутствует. Причина в том, что исполняющая среда .NET Core распаковывает файл CarLibrary.nupkg и добавляет содержащиеся в нем сборки как прямые ссылки.

1 ... 310 311 312 313 314 315 316 317 318 ... 642
Перейти на страницу:
Отывы о книге
Открыть боковую панель
Комментарии
Ксения
Ксения 25.01.2025 - 12:30
Неплохая подборка книг. Прочитаю все однозначно.
Jonna
Jonna 02.01.2025 - 01:03
Страстно🔥 очень страстно
Ксения
Ксения 20.12.2024 - 00:16
Через чур правильный герой. Поэтому и остался один
Настя
Настя 08.12.2024 - 03:18
Прочла с удовольствием. Необычный сюжет с замечательной концовкой
Марина
Марина 08.12.2024 - 02:13
Не могу понять, где продолжение... Очень интересная история, хочется прочесть далее