Запускать разные фреймворки в одном решении? - PullRequest
0 голосов
/ 08 июля 2019

У меня есть библиотека классов, использующая .Net Framework 4.5, в коде, который я использую HttpWebRequest из System.Net.

Если я использую в консольном приложении, использующем .Net Framework 4.5, все в порядке.

Если я использую в консольном приложении, использующем .Net Core 2.2, все нормально, но он использует System.net из .Net Core 2.2, а не из .Net Framework 4.5.

Есть ошибка/ исправление в .Net Core 2.2 HttpWebRequest, и я хочу использовать версию .Net Framework 4.5, но мое приложение находится в .Net Core 2.2.

Возможно ли это?

1 Ответ

3 голосов
/ 08 июля 2019

Неа. Лучше всего рассматривать целевую среду для библиотеки классов как просто интерфейс. Он диктует определенный объем API, но фактический код платформы не входит в библиотеку классов.

Фактические каркасные зависимости удовлетворяются конечным приложением, которое использует библиотеку классов. Пока существует приемлемый уровень совместимости API, вы можете добавить ссылку, но когда придет время для компиляции, целевой платформой будет сама прикладная программа, а не библиотека классов.

Если вам абсолютно необходима версия .NET Framework, тогда ваш единственный выбор - сделать так, чтобы ваше консольное приложение также предназначалось для .NET Framework вместо .NET Core. Вы все еще можете использовать новый формат проекта; вы просто не сможете воспользоваться кроссплатформенностью или такими вещами, как возможность развертывания автономных приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...