Подтвердить что ты не робот

Работает ли .net 4.5 рядом с .net 4.0?

Я заинтересован в установке .NET 4.5.

Но я слышал, что это обновление In-Place.

Так как пользователи моей компании используют Windows XP. Я не могу выпускать приложения на стороне клиента, которые используют .NET 4.5.

Я знаю, что могу настроить таргетинг на .net 4.0, когда я код, но если я устанавливаю .net 4.5, есть ли риск работы на моей машине, который не будет работать на компьютере под управлением Windows XP (который имеет только .net 4.0)

(Кстати, я посмотрел, но не заметил, что этот вопрос задан. Если он был задан, укажите мне его, и я попытаюсь удалить его.)

4b9b3361

Ответ 1

Да, есть риски того типа, который вы описываете. Интерфейс .NET 4.0 не изменился, поэтому, если вы настроите таргетинг на .NET 4.0, ваша программа будет компилироваться и запускаться на XP с .NET 4.0, но .NET.NET.NET 4.0 также содержит исправления. Если вы полагаетесь на .NET Framework, которая не является ошибкой, и единственная доступная .NET Framework для XP является ошибкой, ваша программа будет испытывать эти ошибки. Я имел это случается с Entity Framework, но могут быть и другие исправления ошибок.

Ответ 3

Принятый ответ очень важен, но позвольте мне добавить пример ситуации, когда цель 4.0, скомпилированная на компьютере с более высокой степенью точности, является чем-то менее полезным, чем 4.0 с исправленными ошибками.

Если у вас есть ComReference в ваших проектах, они будут вызывать tlbimp.exe из .NET 4.5 на машине сборки. Это может привести к тому, что ваше программное обеспечение содержит обертки, которые ссылаются, например, на метод System.Reflection.MethodInfo.CreateDelegate(System.Type), который существует только в .NET 4.5. Вы получите MissingMethodException на машине WinXP.

Это случилось со мной при работе с пространством имен ComAdmin, которое является COM-объектами для доступа к каталогу COM +, но я подозреваю, что проблема может быть шире.