Определение формата проекта
NuGet работает со всеми проектами .NET. Но формат проекта (в стиле пакета SDK или не в стиле пакета SDK) определяет некоторые средства и методы, которые необходимо применять для использования и создания пакетов NuGet. В проектах в стиле пакета SDK используется атрибут пакета SDK. Важно указать тип проекта, так как методы и средства, применяемые для использования и создания пакетов NuGet, зависят от формата проекта. Для проектов не в стиле пакета SDK методы и средства зависят также от того, преобразован ли проект в формат PackageReference
.
Стиль проекта не зависит от метода, используемого для создания проекта. В следующей таблице представлен формат проекта по умолчанию и связанный с ним инструмент CLI, используемый при создании проекта с помощью Visual Studio 2017 и более поздних версий.
Проекта | Формат проекта по умолчанию | Средство CLI | Примечания. |
---|---|---|---|
.NET Standard | Стиль пакета SDK | Пакет SDK dotnet | Проекты, созданные в версиях, которые выпущены до Visual Studio 2017, разработаны не в стиле пакета SDK. Используйте CLI nuget.exe . |
.NET Core | Стиль пакета SDK | Пакет SDK dotnet | Проекты, созданные в версиях, которые выпущены до Visual Studio 2017, разработаны не в стиле пакета SDK. Используйте CLI nuget.exe . |
.NET Framework | Проекты не в стиле пакета SDK | CLI nuget.exe | Проекты .NET Framework, созданные с помощью других методов, можно преобразовать в стиль пакета SDK. Для этого используйте пакет SDK dotnet. |
Перенесенный проект .NET | Проекты не в стиле пакета SDK | Создавайте пакеты с помощью msbuild -t:pack. | Для создания пакетов рекомендуем использовать msbuild -t:pack . В противном случае используйте пакет SDK dotnet. Перенесенные проекты не разработаны не в стиле SDK. |
Проверка формата проекта
Если вы не знаете, разработан ли проект в стиле пакета SDK, найдите атрибут SDK в элементе <Project>
в файле проекта (для C# это файл *.csproj). Если такой атрибут есть, проект разработан в стиле пакета SDK.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Authors>authorname</Authors>
<PackageId>mypackageid</PackageId>
<Company>mycompanyname</Company>
</PropertyGroup>
</Project>
Проверка формата проекта в Visual Studio
При работе в Visual Studio можно быстро проверить формат проекта с помощью одного из следующих методов:
В обозревателе решений щелкните проект правой кнопкой мыши и выберите команду изменения имя_проекта.csproj.
Этот параметр доступен для проектов, использующих атрибут стиля пакета SDK, только в версиях начиная с Visual Studio 2017. При использовании других версий применяйте другой метод.
В файле проекта в стиле SDK отображается атрибут пакета SDK.
В меню Проект выберите команду Выгрузить проект (или щелкните проект правой кнопкой мыши и выберите команду Выгрузить проект).
В файле этого проекта не будет отображаться атрибут пакета SDK. Значит, проект разработан не в стиле пакета SDK.
Затем щелкните правой кнопкой мыши выгруженный проект и выберите команду изменения имя_проекта. csproj.