Мы разрабатываем сайт ASP.NET в VS.NET 2005. Этот сайт будет размещен на сервере, на котором установлен .NET 3.0, а в IIS ASP.NET 2.0 будет выбран на вкладке ASP.NET.
Мы бы использовали внешнюю DLL, которая разрабатывается в VS.NET 2008 с .NET 3.0 в качестве фреймворка taraget. Здесь они используют функции .NET 3.0 / C # 3.0, такие как выражения Lamda.
Теперь вопрос в том,
1) Если бы мы не использовали эту внешнюю DLL (.NET 3.0 в качестве фреймворка taraget), какую версию фреймворка .NET он использовал бы для этого сайта? Так как в этом случае упоминаются только библиотеки .NET 2.0, я думаю, что следует использовать только фреймворк 2.0.
2) В текущем случае, когда мы используем эту внешнюю DLL (.NET 3.0 в качестве фреймворка taraget), он загрузит обе фреймворки в память для этого веб-сайта или просто самую высокую версию, т.е. .NET Framework 3.0?
3) Есть ли какие-либо побочные эффекты в этом случае, потому что DLL-библиотека приложения (веб-сайта) попросит загрузчика загрузить .NET Framework 2.0 и одну из внешних DLL, которая требуется для основного приложения в .NET 3.0. Возможно ли, что .NET 2.0 будет сначала загружен для приложения, но когда приложение ссылается на внешнюю DLL, будет загружена платформа .NET 3.0?
4) Есть ли разница, если
- внешняя DLL-библиотека, разработанная в .NET 3.0 в качестве фреймворка taraget, была названа «Добавить ссылку» с использованием VS.NET 2005
- внешняя DLL, разработанная в .NET 3.0 в качестве фреймворка taraget, была просто скопирована в папку bin приложения (веб-сайта)
5) Если это зависит от того, какие функции используются в .NET 3.0 framework, просьба сообщить подробности в обоих случаях; когда эти функции используются, и эти функции не используются.