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

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

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
Перейти на страницу:

    <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)

               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
и добавляет содержащиеся в нем сборки как прямые ссылки.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*