Могу ли я безопасно установить .Net Framework 3.5 с пакетом обновления 1 (SP1), не требуя от своих клиентов обновления их .Net Framework? (в настоящее время работает 3.5) - PullRequest
2 голосов
/ 17 октября 2008

Могу ли я безопасно загрузить и установить .Net Framework 3.5 с пакетом обновления 1 (SP1), не требуя от своих клиентов обновления своего дистрибутива .Net Framework?

РЕДАКТИРОВАТЬ: И без изменения моего сценария сборки

РЕДАКТИРОВАТЬ: я в настоящее время работает 3,5

Ответы [ 4 ]

4 голосов
/ 17 октября 2008

от hanselman ,

На стороне .NET 3.5, поскольку это SP (Service Pack), да, некоторые вещи попадают в ваш GAC и меняются. Тем не менее, изменения являются полностью аддитивными. Это означает, что если сигнатура метода API изменилась, это ошибка, которую мы должны исправить. Это будет полностью совместимый выпуск пакета обновления. Он не должен нарушать ваш существующий код.

4 голосов
/ 17 октября 2008

Да, если ваш проект ориентирован на более раннюю версию фреймворка.

1 голос
/ 24 октября 2008

Нет, не безопасно. Вы не можете настроить Visual Studio (2008) для цели 3.5SP1, только 3.5. Хотя API между 3.5 и 3.5SP1 практически идентичен, в SP1 есть несколько новых функций и конструкторов. MSDN не дает никакой помощи, говоря, когда функция была введена, поэтому в VS нет никакого способа сказать, будет ли ваша новая сборка работать без SP1.

Если вы запустите этот код в версии 3.5 без пакета обновления 1 (SP1), ваше приложение будет аварийно завершать работу при запуске реального кода, а не при загрузке сборки.

Решение состоит в том, чтобы либо придерживаться версии 3.5 без SP1, либо правильно протестировать весь свой код на машине без SP1.

Лично у меня есть машина для тестирования.

0 голосов
/ 17 октября 2008

Да, но

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

Может быть возможно развернуть все зависимости (даже те, которые обычно в GAC) с вашим проектом - я видел проекты .Net 2.0 SP1, использующие System.Core с использованием этой техники - но снова убедитесь, что вы тщательно протестировали это в .Net 3.5 без среды SP1.

...