2015-01-13 3 views
0

Я немного смущен тем, что таргетинг на приложение .net 4.0 для Windows 8.x. В моем понимании, Windows 8.0 поставляется с 4.5, а Windows 8.1 - с 4.5.1. Итак, мой вопрос, если я создаю приложение WinForms или WPF-клиента для таргетинга на C# /. Net 4.0 (в настройках Visual Studio Project) и, конечно, только с использованием возможностей .net 4.0 (т. Е. Никаких функций из .net 4.5.x), тогда это приложение отлично работает на Windows 8.x без установки .net 4.0 framework (то есть, только полагаясь на то, что устанавливается с ОС)? В основном, я стараюсь не заставлять конечного пользователя устанавливать .NET Framework на своем компьютере перед запуском приложения.. Net 4.0 таргетинг на windows 8.x

При изучении свойств DLL различных DLL-библиотек Microsoft (например, System) они отображают одну и ту же версию исполнения при настройке .net 4.0 или .net 4.5.x -> v4.0.30319. Поэтому я понимаю, что 4.0 и 4.5.x нацелены на ту же версию исполнения CLR. Итак, мое приложение .net 4.0 должно работать нормально ???

Из ссылки здесь (http://msdn.microsoft.com/en-us/library/bb822049%28v=vs.110%29.aspx) говорится, что .net 4.0 не может быть установлен на win8.x.

В моих тестах, нацеленный на .net 4.0 и работающий на чистой установке win8.1, кажется, работает нормально (без необходимости устанавливать что-либо еще), но ищет советы по gotchas.

Спасибо.

ответ

0

Per this question:

.NET Framework 4.5 был выпущен 15 августа 2012 года, набор новых или улучшенных функций были добавлены в эту версию. .NET Framework 4.5 поддерживается только в Windows Vista или более поздней версии. В .NET Framework 4.5 используется Common Language Runtime 4.0 с некоторыми дополнительными функциями времени исполнения.

Я бы сказал, что в силу наличия .NET 4.5 у вас также будет установлен .NET 4.0. Я не думаю, что это должно быть проблемой!

0

По этой ссылке вы публикуемая:

Каждой новая версия .NET Framework сохраняет функцию из предыдущих версий и добавлены новые функции.

Кроме того, из этой ссылке:

В .NET Framework 4.5 является обновлением на месте, который заменяет .NET Framework 4 на вашем компьютере, и вывести так, .NET Framework 4.5.1 4.5 .2 и 4.6 Preview являются обновлением на месте .NET Framework 4.5, что означает, что они используют одну и ту же версию исполнения, но версии сборки обновляются и включают новые типы и элементы.

Итак, если система имеет 4,5, она также сможет запускать приложения, ориентированные на 4.0. Тот факт, что некоторые версии не могут быть установлены, скорее всего, означает, что они уже включены с самого начала.

2

Обратите внимание, что инфраструктура .NET по своей сути обратно совместима - .NET 4.5 отлично выполнит код .NET 4.0. Это можно увидеть даже в рамках решения, в котором проект .NET 4.5/4.5.1 может ссылаться на старый проект .NET без каких-либо инцидентов. Это включает в себя .NET 4.0, а также более ранние версии.

В дополнение к обратной совместимости .NET 4.5 запускается на CLR 4.0 - 4.5 - это просто расширение библиотеки и компилятора.

Возможные подводные камни

  • Этот акцент на обратной совместимости поэтому мы практически никогда не видят функции исчезают из .NET Framework, просто получить отмеченные [Obsolete]. это хорошая идея проверить, были ли устаревшие используемые вами функции, хотя это редко, и такие функции обычно продолжают работать, как ожидалось.
  • Windows 8 НЕ нравится сопоставление дисков и потребует использования UNC-путей, если приложение касается любых сетевых дисков.
  • Windows 8 может быть гораздо более агрессивным с требуя привилегий администратора для запуска, вплоть до необходимости явно запустить VS как администратор при попытке скомпилировать программу, которая выводит на C:\Program Files\...

Конечная нота: Всегда проверяйте приложения на целевой платформе перед выпуском пользователям.

Смежные вопросы