RedDk Ответов: 1

Просмотр каталога NET framework для ссылки на более высокие версии asssemblies: пожалуйста, посоветуйте.


Я уже давно не задавал вопросов, но эти двое настолько прозорливы, что я был бы очень удивлен, если бы этот вопрос не возник в какой-то момент в опыте многих, если не большинства CPians здесь в какой-то момент в их опыте использования Visual Studio.

Во-первых, кто-нибудь когда-нибудь просматривал (а не делал ссылку .NET) каталог Microsoft Framework (.NETFramework), чтобы сделать ссылку на сборку CLR более высокого порядка, чем версия сборки верхнего уровня, доступная им через их запущенную версию Visual Studio?

И во-вторых, кто-нибудь когда-нибудь сталкивался со сверхъестественной способностью успешно компилировать сборку CLR с использованием кода, который предположительно был разработан для доступа к функциональности более новой версии .NET Framework, потому что код не ссылается на какую-либо новую недвижимость этой новой платформы, то есть: функциональность через ссылки new или иным образом?

Это потому, что я полностью остановлен в своих треках, будучи в состоянии получить .dll, который регистрируется через выполнение TSQL, позволяет мне хорошо запускать SQL Server ... а затем останавливается, когда при первом вызове сборки через процедуру EXECUTE Windows сообщает, что "данное имя сборки или кодовая база были недопустимы."

Или я просто слишком истончил кожу и делаю пятницу тяжелее, чем это должно быть?

Что я уже пробовал:

(Отличная работа венделиуса "запись в файл из базы данных" ... потрошение проекта VS2013 путем удаления его внутренностей и повторной сборки их в стиле Франкештейна в проекте VS2010, а также попытка запустить dll-файл, созданный прокси-сервером через выполнение скрипта ssmse (опять же замечательно .sql-скрипт, предоставленный Wendelius))

1 Ответов

Рейтинг:
0

Dave Kreskowiak

Вы не можете использовать сборки в своем приложении, которые нацелены на версию фреймворка выше, чем та, на которую нацелено ваше приложение.

Хотя вы можете найти случаи, когда это сработает, есть много случаев, когда это не сработает, и, похоже, вы только что нашли один.

Это особенно важно, если ваше приложение ориентировано на .NET 2.0, 3.0 или 3.5 и вы пытаетесь использовать сборку из любой версии .NET 4.x.


Не делай этого. Оно того не стоит.


RedDk

Я просто не могу смириться с тем фактом, что в VS2010 я могу это сделать ... смотрите рабочее пространство в пользовательском интерфейсе полностью незапятнанным зубчатыми красными линиями под кодом, который не имеет ссылок на "ссылочную" сборку CLR! Мне кажется, что мне не нужно было бы доходить до того, что Windows выдает свое объявление из стороннего приложения, используя этот продукт vs.

И на это: "не делай этого. Оно того не стоит" ... Итак, вы сделали это и говорите: Не беспокойтесь. Да, никогда нет никакого смысла не делать что-то, потому что это связано с расходованием наличных денег.

И на этой ноте пришло время перейти на 64-разрядную версию Visual Studio 2018. Да!

Dave Kreskowiak

Я говорю "Не делайте этого", потому что случаи, когда ссылочная сборка, предназначенная для фреймворка более высокой версии в приложении фреймворка более низкой версии, невелики. Это не стоит усилий, чтобы "заставить его работать".

Вы не можете запустить код, предназначенный для среды CLR .NET 4.x в среде CLR .NET 2.0. Однако вы можете пойти и другим путем. Код, предназначенный для платформ .NET 2.0 и 3.x, по-прежнему будет работать в среде CLR .NET 4.x.