Импорт простого пользовательского пакета NuGet с ошибкой: пакет не поддерживает целевые платформы

Я создал библиотеку классов.NET Framework, нацеленную на 4.6.1 .NET Framework. Проект содержит один класс.cs и не содержит внешних ссылок ни на какие библиотеки, библиотеки DLL или пакеты NuGet. Вот nuspec:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <!-- Required elements-->
        <id>MyEventLogger.Core</id>
        <version>1.0.0</version>
        <description>Logs event log</description>
        <authors>Me</authors>
    </metadata>
    <files>
      <file src="MyEventLogger.Core\**\bin\Debug\*.dll" target="lib\net" />
      <file src="MyEventLogger.Core\**\bin\Debug\*.dll" target="lib\netstandard" />
    </files>
</package>

У меня проблемы с импортом из приложения ASP.NET Core, работающего на.NET Framework 4.7.1.

Ошибка, которую я получаю, состоит в том, что пакет не поддерживает никаких структур:

Я использую конвейер Azure Devops Build для запуска пакета и отправки на локальный канал. Как правильно ссылаться на это, чтобы приложение в более новой версии.NET Framework все еще могло использовать эту библиотеку в более старой версии?

Спасибо за любую помощь! Я не могу найти, как исправить эту ошибку нигде или хорошие примеры нацеливания на несколько.NET Frameworks.

2 ответа

Я начал работать, когда смог использовать следующие файловые узлы:

<files>
   <file src="**\MyEventLogger.Core.dll" target="lib\net461\MyEventLogger.Core.dll" />
</files>

Что помогло мне понять это, так это установить NuGet на мою машину, а также установить NuGetPackageExplorer. Вы можете создать пакет, используя NuGetPackageExplorer, а затем экспортировать файл.nuspec. Я скопировал этот файл.nuspec в свой репозиторий, а затем указал конвейер сборки DevOps Azure на файл.nuspec. Эта ошибка исчезает, когда я импортирую пакет в другой проект.

Чтобы вы могли использовать код в.net framework и.net core, вам нужно написать свой код в библиотеке, написанной в стандарте.net. Вы можете найти подобное решение здесь

Спасибо

Другие вопросы по тегам