Я довольно новичок в процессе создания пакетов NuGet.Я недавно создал пакет NuGet через NuGetPackageExplorer.В представлении «Метаданные пакета» есть раздел «Ссылки на сборку платформы» со значением «Microsoft.CSharp (Any, Verion = 0.0)».Вот как выглядит файл nuspec:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>My.Cool.NuGet.Package</id>
<version>1.0.2</version>
<title></title>
<authors>John Smith</authors>
<owners>John Smith</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>My cool NuGet package</description>
<frameworkAssemblies>
<frameworkAssembly assemblyName="Microsoft.CSharp" />
</frameworkAssemblies>
</metadata>
</package>
Можете ли вы объяснить взаимосвязи, зависимости и ограничения для следующих измерений:
- Версия Target Framework исходного проекта .NETдля пакета NuGet
- frameworkAssemblies раздела nuspec-файла
- Target Framework версия проекта, которая устанавливает пакет NuGet
Значение frameworkAssembly в приведенном выше nuspec:отображается в NuGetPackageExplorer следующим образом:
Имя сборки: Microsoft.CSharp
Поддерживаемые платформы: Любые, Версия = v0.0
Означает ли эточто пакет NuGet предназначен для независимой от .NET Framework версии?Существуют ли сценарии, в которых я хотел бы явно указать конкретную версию (версии) в этом разделе?Причина, по которой я спрашиваю, состоит в том, что я вчера установил пакет NuGet в проект MVC, и у меня было странное поведение.В частности:
- Пакет NuGet показывался как установленный и отображался в списке ссылок
- Мне удалось добавить директиву using в пространство имен пакета NuGet
Однако, когда я попытался запустить приложение, компилятор отобразил ошибку «тип пространства имен не найден» для них с помощью директив.Но затем ошибки компилятора исчезли, но приложение не запускало b / c из предыдущих ошибок компилятора.После того, как я поработал с настройками версии в проекте MVC и исходном проекте пакета NuGet, я смог обойти эту ошибку.Так что теперь я пытаюсь понять более мелкие детали того, что мне нужно рассмотреть и настроить в отношении целевых структур.