Использование .Net Core dll в стандартном консольном приложении .net - PullRequest
0 голосов
/ 14 ноября 2018

Я создал библиотеку классов в VS 2017, используя .NET Core 2.1.Теперь я хочу использовать эту dll в стандартном консольном приложении, встроенном в .NET Framework 4.6.2.

Когда я ссылаюсь на .NET Core dll в консольном приложении, я получаю эту ошибку:

Необработанное исключение: System.IO.FileLoadException: не удалось загрузить файл или сборку 'System.Runtime, версия = 4.2.1.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a' или одна из ее зависимостей.Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.(Исключение из HRESULT: 0x80131040) в Marketo_Console.Program.Main (String [] args)

Как решить эту проблему?Как я могу использовать .NET Core dll в стандартном консольном приложении?

1 Ответ

0 голосов
/ 14 ноября 2018

Как решить эту проблему?

Вы не можете.По крайней мере, не напрямую.

  • .NET Core может запускать сборки, ориентированные либо на само .NET Core, либо на .NET Standard
  • .NET Framework может запускать сборки, ориентированные либо на .NET Framework, либо на .NET Standard

Таким образом, невозможно объединить две сборки, предназначенные для Full Framework и Core соответственно.Не в ядре и не в полном объеме.(Возможно, вы сможете найти хаки и решения «но для меня это работает» повсеместно, но они являются сверххрупкими исключениями для их конкретного случая использования.)

Вы можете переключитьсяваша целевая платформа сборки .NET Core либо для .NET Framework, либо для .NET Standard, либо вы можете предоставить несколько целевых структур для создания пакета Nuget, который поддерживает .NET Core и полная структура.

Но если вам нужна сборка .NET Core и приложения .NET Framework, вы не сможете использовать их вместе таким образом.

...