Вопрос по dependencies, .net, frameworks – Зависимость .NET Framework

5

Можно ли при разработке настольного приложения в .NET не требовать .NET Framework? Является ли разработка программного обеспечения в .NET предпочтительным способом разработки настольных приложений? Какой язык программирования наиболее часто используется компаниями-разработчиками программного обеспечения для разработки настольных приложений?

Является ли требование .NET Framework только предполагаемым, основанным на установленной ОС Windows, и поэтому в нем перечислены требования к версии ОС Windows?

Ваш Ответ

15   ответов
1

Я думаю, что я пытаюсь сказать, что когда я смотрю на системные требования для определенного программного обеспечения, я редко вижу .NET Framework как требование. Поэтому мне всегда интересно, как они обходятся, если это не является обязательным требованием (если они разработали программное обеспечение в .NET). Итак, я просто предполагаю, что большинство коммерческих программ написано не на .NET, поэтому я задаю этот вопрос. Надеюсь, что кое-что прояснилось.

0

Да, вы можете создать приложение, встроенное в dot NET, без использования фреймворка. Вы можете использовать такую программу, как ESS dotNET FuZe, для включения любой dll, включая dll-фреймворк, в приложение. Получающийся EXE больше не нуждается в фреймворке.

Пожалуйста, перейдите по этой ссылке:http://essaver.net/fuze.html  взглянуть на FuZe.

0

The nice thing about the .NET framework is that Windows XP has the 2.0 framework runtime library installed by default

С каких пор? Мне пришлось сказать многим нашим пользователям Windows XP, чтобы установить его. Да, это можно сделать с помощью обновления Windows, но я уверен, что это необязательная установка, а не то, что происходит автоматически.

and Vista has 3.5 installed

Нет, на нем установлено 3.0. Вы получаете WPF, но выdon't получить Linq

1

Лучшая практика для распространения приложений .NET заключается в том, что установщик каким-то образом загружается вместе с распространяемым установщиком .NET для требуемой платформы, так что если требуемая среда еще не установлена (скажем, вам нужен 3.5 в Windows XP), тогда установщик будет просто вставь.

.NET Runtime - это достаточно маленькая установка, чтобы это было возможно (она составляет около 24 МБ для .NET 2.0, еще не проверила, насколько велика .NET 3.5).

1

I guess what I'm trying to say is that when I look at system requirements for certain software I rarely ever see the .NET Framework as being a requirement. So, I always wonder how they get by without it being a requirement (if they developed the software in .NET). So, I just assume that most commercial software is not written in .NET so that's why I'm asking this question. Hope that cleared some things up.

У меня нет никаких цифр, но я собираюсь догадаться, что, поскольку большинство пользователей используют XP и Vista на своих рабочих столах, перечисление платформы .NET является спорным, особенно если они нацелены на платформу 2.0 в само приложение. Когда-то вы видели, сколько приложений вы указали, что для & quot; требуется vbrun50.dll & quot; или что-то на этот счет, так как он был установлен в Windows по умолчанию?

Плюс это немного менее "страшно" для тех, кто не очень страшен на компьютере. Все, что они хотят сделать, это загрузить, установить и запустить приложение. Для пары приложений, которые у меня есть, требуется платформа 2.0, и некоторые люди спрашивают, что это такое и как мне получить его, и стоит ли это мне чего-нибудь? Типичный ответ, который я им даю: «Если вы используете XP или Vista, вам не о чем беспокоиться». и им, похоже, это нравится.

1

Моно Имеет релиз Windows, если вам абсолютно необходимо избежать зависимости от .NET.

Тем не менее, в любом случае вам понадобится .NET-совместимая среда выполнения на любом компьютере, на котором работает ваше приложение. Поэтому, если вы хотите полностью избежать .NET, вам, вероятно, придется распространять среду выполнения Mono вместе с вашим приложением.

-1

Можно не требовать .NET Framework; Есть компании, которые продают (за тысячи долларов) решения, которые позволят вам сделать это. Однако это полные взломы, которые не поддерживаются Microsoft.

То, как вы разрабатываете настольные приложения (то есть, используете .NET или нет), зависит от ваших требований. Не существует предпочтительного способа.

Наиболее используемый язык, вероятно, C #.

Интересно, почему за это проголосовали, а это правильный ответ.
2

аботится о некоторых утомительных фоновых задачах, поэтому вы не можете запустить приложение без фреймворка.

9

Вы по-прежнему можете разрабатывать приложения для рабочего стола Windows с использованием C / C ++, что устраняет необходимость в .NET Framework, но вам необходимо убедиться, что необходимые библиотеки уже есть в системе или установлены.

Приятной особенностью .NET Framework является то, что в Windows XP SP2 и Vista по умолчанию установлена среда исполнения 3.0.

Во многих отношениях это стандарт разработки Microsoft. и так было некоторое время. Это позволяет вам не беспокоиться о том, что в ваше приложение будет добавлено несколько библиотек. Если вы придерживаетесь всех предоставленных библиотек .NET, вам, в конечном итоге, нужно только позаботиться о развертывании исполняемого файла, который избавляет от головной боли. Когда у вас есть куча библиотек, которые вы также должны развернуть, вы начнете сталкиваться с трудностями при написании обновлений, потому что вы должны убедиться, что эти обновления будут помещены в существующий установщик и во все существующие установленные приложения. ,

Что касается «предпочитаемого», то это всегда порой раздражает, но все больше и больше разработчиков .NET разыскиваются для Интернета и рабочего стола на сайтах поиска работы, которые я посещаю. 8 ^ D

РЕДАКТИРОВАТЬ: Большое спасибо Ориону за указание на мою путаницу в рамках. Вы получаете 3.0 "за ворота", если вы используете XP SP2 или Vista. Все остальное потребует простой загрузки или запуска Центра обновления Windows.

1

Вы могли бы рассмотреть возможность использования& quot; Развертывание ClickOnce & quot;, что позволяет очень легко добавить в ваше приложение загрузочную версию распространяемых установщиков .Net 2.0, 3.0 и / или 3.5. Просто установите флажок в свойствах вашего проекта, и ваш установщик автоматически определит, была ли установлена необходимая инфраструктура, и установит ее, если нет.

Он не подходит для любой ситуации, но если вы можете воспользоваться этим, он может быть довольно приятным.

0

Я занимался программированием на .NET (используя C #) и понял, что часто я жаждал большего контроля над несколькими элементами управления. Это требует знаний, которые выходят за рамки .NET.

Например, когда я работал с элементом управления WebBrowser над созданием инструмента автоматического тестирования для веб-приложений, я понял, что существуют определенные ситуации, в которых требуются обработчики событий из низкоуровневого элемента управления ActiveX axWebBrowser, и в документации не хватает / примеры кода содержат много Концепции COM Interop. Так что, возможно, знание COM может оказаться полезным?

2

На платформе Windows использование .NET является предпочтительным способом разработки настольных приложений. Модель WinNET для .NET - это один из способов разработки традиционных или толстых клиентских приложений, а Windows Presentation Foundation .NET является новейшим технологическим направлением от MS.

0

I guess what I'm trying to say is that when I look at system requirements for certain software I rarely ever see the .NET Framework as being a requirement. So, I always wonder how they get by without it being a requirement (if they developed the software in .NET). So, I just assume that most commercial software is not written in .NET so that's why I'm asking this question. Hope that cleared some things up.

Многие приложения, разработанные с использованием C ++ / MFC для рабочих столов Windows, требуют определенной версии DLL-файлов среды выполнения MFC, даже если она не указана явно как требование. Я считаю, что то же самое происходит с приложениями, требующими .NET.

Например, приложение, на котором я работаю, поставляется с распространяемыми файлами как для .NET, так и для конкретной версии MFC, которая нам требуется, а также для ряда других необходимых компонентов. Наша программа установки установит все компоненты, которые в данный момент не установлены в системе пользователя. В каждом выпуске за последние несколько лет использовалось больше кода .NET, чем в предыдущем выпуске.

Я не думаю, что правильно предположить, что большинство коммерческих программ не используют .NET только потому, что оно не указано в качестве требования. Я не думаю, что вы можете точно предположить что-либо из этого.

1

Я думаю, что если бы вы смогли что-то сделать, например статически связать инфраструктуру .NET, чтобы вам не пришлось ее разрабатывать, вы бы нарушили лицензионное соглашение, поставляемое Microsoft!

Это цена, которую мы должны заплатить за такой богатый опыт разработчиков! Это стоит того, если учесть трудность возврата к программированию на MFC!

1

Remotesoft предлагает компоновщик - $ 1250 за одну лицензию разработчика:http://www.remotesoft.com/linker/index.html

Если ваше приложение будет работать на Mono (и поддержка Monform's Winform для настольных компьютеров сейчас довольно хороша), вы можете упаковать свое приложение в пакет Mono, который представляет собой один исполняемый файл. Есть два варианта: по умолчанию включается среда выполнения, но статическая ссылка на него отсутствует, другая статически связывает вас со средой Mono. Причина, по которой вы можете не захотеть использовать статическую ссылку, заключается в том, что ваша заявка будет помещена в LGPL; пакеты, которые не являются статически связанными (все еще только один exe), не имеют этого требования. http://www.mono-project.com/Mono:Runtime#Bundles

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