Повреждение изменений в.NET 4.0

Существует большая информация о новых возможностях и классах в новых 4.0 однако существуют также изменения, которые могут влиять на существующие приложения, например

  1. Промежуток теперь реализует IFormattable и старую строку. Формат () с недопустимыми опциями выдаст исключение вместо того, чтобы назвать простой ToString (). Однако команда CLR обеспечивает хорошую функцию для включения поведения из предыдущей версии с параметром конфигурации - TimeSpan_LegacyFormatMode.

    CLR наизнанку

  2. Доступ к событиям в классе, где они объявляются с помощью + = или - =, будет вести для вызова, добавляют/удаляют сгенерированные средства доступа тот возврат пусто. Некоторый код даже не скомпилирует в 4,0.

    Блог нор Chris

  3. CAS удерживается от использования и включить его один все еще потребность использовать специальную установку в конфигурации - NetFx40_LegacySecurityPolicy

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

58
задан 7 revs, 5 users 65% 15 April 2013 в 03:28
поделиться

4 ответа

Группа документации языков публикует отдельные документы для критических изменений C # и VB:

VB: http://msdn.microsoft.com/ en-us / library / cc714070% 28VS.100% 29.aspx

C #: http://msdn.microsoft.com/en-us/library/ee855831%28VS.100%29.aspx

Я написал C # one и включил изменения, нарушающие ковариацию и контравариантность, упомянутые Эриком Липпертом, и изменения событий, обсужденные Крисом Берроузом. Также есть некоторые критические изменения в отношении необязательных параметров, встроенных типов взаимодействия и вывода типа группы методов.

Обновление:

Еще один полезный документ (от группы документации .NET): http://msdn.microsoft.com/en-us/library/ee941656%28VS.100%29.aspx

31
ответ дан 24 November 2019 в 19:09
поделиться

Ковариантные и контравариантные преобразования вносят некоторые неясные, но возможные критические изменения при перекомпиляции:

http://blogs.msdn.com/ericlippert/archive/2007 /11/02/covariance-and-contravariance-in-c-part-nine-breaking-changes.aspx

Группа обучения пользователей C # составляет список известных потенциальных критических изменений в новой версии компилятора, см. ответ выше для подробностей.

15
ответ дан 24 November 2019 в 19:09
поделиться

Чтобы добавить к списку, вот официальный список ASP.Net для RC , я еще не встречал RTM.

2
ответ дан 24 November 2019 в 19:09
поделиться

Также обратите внимание, что SmtpClient теперь реализует IDisposable, поэтому теперь вы должны использовать что-то вроде этого:

using (var smtpclient = new SmtpClient())
{
  smtpclient.Send(message);
} 

Согласно этой странице внутри .NET 4.0 может быть больше таких «скрытых замятий». фреймворк. И автор предлагает найти их, используя FxCop в вашем коде.

5
ответ дан 24 November 2019 в 19:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: