Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пакеты можно пометить одним или несколькими типами пакетов, чтобы указать их предполагаемое использование.
Известные типы пакетов
DependencyПакеты типов добавляют ресурсы сборки или времени выполнения в библиотеки и приложения и могут быть установлены в любом типе проекта (если они совместимы).DotnetToolПакеты типов — это средства .NET, которые можно установить с помощью dotnet CLI.MSBuildSdkПакеты типов — это пакеты SDK для проекта MSBuild , упрощающие использование пакетов разработки программного обеспечения.TemplateПакеты типов предоставляют пользовательские шаблоны , которые можно использовать для создания файлов или проектов, таких как приложение, служба, инструмент или библиотека классов.McpServerПакеты типов содержат серверы MCP. Этот тип пакета всегда сопровождается типомDotnetToolпакета, так как локальный сервер MCP распространяется как средство .NET. Дополнительные сведения о сервере MCP и NuGet см. в разделе MCP-серверов в пакетах NuGet.
Пакеты, не помеченные типом, включая все пакеты, созданные с более ранними версиями NuGet, по умолчанию относятся к типу Dependency .
Note
Добавлена поддержка типов пакетов в NuGet 3.5.
Если вам не нужен пользовательский тип пакета, рекомендуется явно не задать тип пакета.
NuGet по умолчанию использует Dependency тип, если тип не указан.
Пользовательские типы пакетов
Пакет можно пометить одним или несколькими пользовательскими типами пакетов, если его использование не соответствует известным типам пакетов.
Например, предположим, что клиенты Contoso приложения могут устанавливать расширения. Приложению может потребоваться, чтобы авторы расширений использовали пользовательский тип ContosoExtension пакета для идентификации своих пакетов в качестве соответствующих расширений, соответствующих необходимым соглашениям.
Warning
Пакет с пользовательским типом пакета не может быть установлен с помощью Visual Studio или nuget.exe. Дополнительные сведения см. в статье NuGet/Home#10468 .
Типы пакетов можно задать в файле проекта (.csproj):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>ContosoExtension</PackageType>
</PropertyGroup>
</Project>
Пакеты с несколькими предполагаемыми использованием можно пометить несколькими типами пакетов с помощью ; разделителя:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1;PackageType2</PackageType>
</PropertyGroup>
</Project>
Типы пакетов можно версионировать, используя разделитель между типом , пакета и его строкой Version.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<PackageType>PackageType1, 1.0.0.0;PackageType2</PackageType>
</PropertyGroup>
</Project>
Формат строки типа пакета точно похож на идентификатор пакета. То есть тип пакета — это строка без учета регистра, соответствующая регулярному выражению ^\w+([_.-]\w+)*$ с по крайней мере одним символом и не более чем 100 символами.
Если задано, версия типа пакета представляет собой Version строку. Версия типа пакета является необязательной и по умолчанию используется 0.0.