Вопрос по .net – Могут ли приложения .Net 3.5 работать на компьютерах с установленной средой выполнения .Net 2.0?

3

Я пишу свое приложение в VS 2008 и поэтому использую все фантастические вещи, такие как LINQ, инициализаторы объектов и т. Д. Теперь мое приложение может работать на машинах, которые имеют только среду выполнения .Net 2.0, но не имеют среды выполнения .Net 3.5? Как вы все знаете, среда выполнения .Net 3.5 - это огромная загрузка.

Ваш Ответ

8   ответов
-3

5

если вы не используете библиотеки .NET 3.5. УвидетьПоддержка многоцелевого использования Visual Studio Ты можешь использоватьLinqBridge использовать запросы Linq в .NET 2.0

Для получения дополнительной информации см. Многоцелевой таргетинг MSVS.скринкаст Дэниел Мот на 9 канале.

0

если вы хотите использовать его функции.

0

вы можете рассмотреть программное обеспечение для виртуализации во время выполнения, такое как VMWare ThinApp или Xenocode Postbuild, которые позволяют запускать приложения .NET без установки среды выполнения .NET.

0

вероятно, нет, хотя .Net 3.5 все еще оправдывает .Net 2.0 CLR, есть многоnew библиотеки и функциональные возможности, которые вы, скорее всего, будете использовать, например код, определяющий методы расширения, которые не будут доступны вашим клиентам, на которых не установлен .Net 3.5.

Вы можете использовать VS2008 для таргетинга .Net 2.0. Я думаю, что это свойство элемента Solution.

http://en.wikipedia.org/wiki/Microsoft_.NET#Microsoft_.NET имеет много информации.

0

Эта статья от Жан-Батиста Эвена объясняет, как вы можете использовать C # 3.0 и LINQ и ориентироваться на машины, на которых установлена только среда выполнения .NET 2.0.

Идея состоит в том, чтобы использовать System.CoreМоно реализация, которая лицензируется под лицензией MIT / X11.

Note : This answer was first provided to a дублированный вопрос.

9

var ключевое слово, авто-геттеры и авто-сеттеры, инициализаторы объектов. То есть синтаксический сахар, который скомпилирован в код 2.0.

То, что вы не можете использовать, - это функциональность, которая находится в библиотеке .Net Framework 3.0 и 3.5. Например LINQ.

Вы можете сами попробовать то, что можете и не можете использовать, установив целевую платформу в Visual Studio на .Net Framework 2.0. Компилятор будет жаловаться, когда вы используете вещи из Framework 3.0 и 3.5.

Вы можете использовать методы расширения с небольшой хитростью: создание этого класса для вашего проекта

namespace System.Runtime.CompilerServices
{
    public class ExtensionAttribute : Attribute { }
}

Методы расширения на самом деле также скомпилированы в код 2.0, но компилятору нужен этот класс для определения. Читать об этомВот

1

Самый маленький DotNet найти уменьшенную версию фреймворка при развертывании приложения для Framework 3.0 и 3.5.

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