Ориентация .NET Framework 3.5, использование .NET 2.0 Runtime. Предостережения?

Я разрабатываю приложение, ориентированное на .NET 3.5 Framework. Программа установки устанавливает среду выполнения .NET 2.0 на целевой машине. До сих пор у меня не было никаких проблем с этим, но мне интересно, какие проблемы у меня будут на линии. Нужно ли устанавливать среду 3,5?

Я должен упаковать установщик среды выполнения .NET в нашу установку (без сетевой установки). Проблема с установщиком среды выполнения. Средство установки среды .NET 2.0 имеет размер 23 МБ (управляемый), установщик времени выполнения .NET 3.0 - 50 МБ (становится большим), а установщик времени исполнения .NET 3.5 - 200 МБ (yikes!). Какая черта в этих дополнительных 170 МБ?

Ответ 1

Это сложный вопрос для ответа, потому что в конечном итоге это зависит от того, какие функции .NET 3.5 вы используете. Если вы используете некоторые из новых библиотек, например LINQ, то да, вам нужно будет установить 3.5 времени автономной работы. Однако, если вы просто используете некоторые из новых синтаксических сахаров, введенных в 3.5, вы не можете. Причина этого в том, что .NET 3.5 на 100% совместим с 2.0 CLR.

Ответ 2

Если это клиентское приложение, которое не использует asp.net и т.д., вы можете использовать установку .Net Client Profile, которая намного меньше (примерно 26 МБ) - более подробная информация по адресу:

http://blogs.msdn.com/bclteam/archive/2008/05/21/net-framework-client-profile-justin-van-patten.aspx

http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx

Ответ 3

Если вы ссылаетесь на 3.5 конкретных libaries, таких как System.Core или System.Xml.Linq, тогда вам нужно отправить 3.5.

Ответ 4

существует некоторая разница в сгенерированной части кода наборов данных между 3.5 SP1 и 3.5 (нет sp), что-то о сериализации. у вас могут возникнуть проблемы с этим, если вы обновите свою установку до 3.5SP1, даже в основных функциях.

Ответ 5

.NET 3.5 не является литературным, 100% совместимым с .NET 2.0, но с .NET 2.0 SP1.

Но я не знаю, дадут ли вам какие-либо проблемы. Сообщается, что обновление .NET 2.0 SP1 сделано для создания методов расширения и, возможно, для автоматических свойств (не помните специфику).

Скотт Хансельман имеет хорошее сообщение в блоге на этом.

Что касается размера развертываемого файла .NET 3.5, то это .NET 2.0, 3.0 и 3.5 для x86, x64 и другой 64-разрядной архитектуры в одном большом файле.