Возможна ли целевая библиотека Bin для различных .NET-структур? - PullRequest
1 голос
/ 22 сентября 2010

У меня есть веб-сайт, который в настоящее время работает под .NET 3.5.Я подумываю о том, чтобы он работал под 4.0, но я использую много сторонних DLL для сжатия, Bit.ly, Twitter, XML и т. Д. Если эти DLL были созданы для .NET 3.5 (в VS2008), они будут продолжать работатьдо 3,5?Или 4.0 как-то обратно совместим для старых библиотек?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

Если эти библиотеки DLL были созданы для .NET 3.5 (в VS2008), они продолжат работать под 3.5?

Нет такой вещи, как запуск под 3.5. Сборки .NET компилируются по версии .NET, а затем загружаются и выполняются CLR. .NET 3.5 использует CLR 2.0, а .NET 4.0 использует CLR 4.0.

Таким образом, если ваше приложение работает под CLR 4.0, эти сборки будут работать под CLR 4.0, который обратно совместим со сборками, скомпилированными для .NET 3.5. Могут быть некоторые предупреждения, если эти сборки вызывают неуправляемые функции, но в противном случае они должны работать просто отлично.

Иди и попробуй запустить их.

0 голосов
/ 22 сентября 2010

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

(я знаю, что есть один поставщик баз данных, который, по крайней мере, до недавнего времени предоставлял только библиотеки .NET 3.5, и они неработать в .NET 4 именно потому, что они использовали неуправляемые API через P / Invoke. К сожалению, я не знаю деталей того, что изменилось в этой области - я склонен избегать P / Invoke как чума:)

...