2010-01-07 4 views
3

Недавно я разработал внутреннюю структуру в версии .NET 2.0, которая представляет собой в основном классы и помощники.Вызов сборки .NET 2.0 в .NET 1.1

Проблема заключается в том, что у меня есть некоторые сайты и приложения .NET 1.1 и вы хотите использовать мою фреймворк из них. Я знаю, что я не могу назвать .NET 2.0 в .NET 1.1, но у меня есть идея.

Если я создаю еще один проект 2.0 с ComVisible и ссылаюсь на некоторые из моих сборников 2.0, то воссоздайте мои необходимые функции только для ссылок на эти классы, а в .NET 1.1 вызовите эту новую сборку ComVisible; могу ли я затем использовать сборки 2.0 в .NET 1.1?

Если это работает в основном я могу использовать его в .NET 1.1, Java Reflection и т.д.

Или я тратить свое время?

ответ

1

Я не понимаю, почему вы хотите пройти все эти усилия. Есть только две возможности - либо:

  1. Серверы/рабочих станций под управлением этих сайтов/приложений имеют .NET Framework 2.0 установлен, в этом случае вы можете также просто повторно цель этих сайтов/приложений на .NET 2.0 и перестраивать/переустанавливать их (что должно занимать все 10 минут), или

  2. На серверах/рабочих станциях нет установленной платформы .NET Framework 2.0, и в этом случае все ваши усилия COM ничтожны, потому что сборки 2.0 сами не смогут работать без Framework.

Я недавно перенацелил целую кучу «старых» 2.0 приложений на 3.5, как в № 1, без единой проблемы. Я знаю, что была крошечная горстка изменений от 1.1 до 2.0, но их так мало, что почти наверняка потребуется меньше времени для поиска тех, которые потребуются, чтобы справиться со всем этим безумством COM.

+1

Но 3.5 является расширением 2.0, никаких проблем при миграции не возникает. Начиная с 1.1 до 2.0, очень устаревают функции или изменения dsignatures. И 2.0 не является «наследием», это основной релиз. – pedrofernandes

+0

Я не совсем понимаю ваш комментарий. .NET 3.5 - это новая версия Framework, другой компилятор и все, это не расширение 2.0, а 2.0 - расширение 1.1. Некоторые версии 1.1 были устаревшими в версии 2.0, но это не мешает вам использовать их в промежутке времени, а подписи методов определенно сохраняются. Что касается комментария «legacy», учитывая, что .NET 4.0 почти окончательный, я думаю, что можно с уверенностью сказать, что 2.0 является «наследием»; 1.1 является «древним». – Aaronaught

+3

@Aaronaught: На самом деле .NET 2.0 является основной версией фреймворка с другой CLR, чем .NET 1.1, поэтому это практически другая структура с некоторыми изменениями API от 1.1 (и 1.0, очевидно). С другой стороны, .NET 3.0 и 3.5 - это всего лишь новый набор ассемблеров (и компилятор), которые используют те же CLR, что и .NET 2.0. Отъезд: http://stackoverflow.com/questions/212896/how-do-the-net-framework-clr-and-visual-studio-version-numbers-relate-to-each-o – alexphi