Сведения о вопросе

Junior

13:52, 17th August, 2020

Теги

.Чистая рамки зависимостей

Просмотров: 494   Ответов: 15

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

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



  Сведения об ответе

dump

00:14, 23rd August, 2020

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

Хорошая вещь о фреймворке .NET заключается в том, что Windows XP SP2 и Vista имеет среду выполнения 3.0 framework, установленную по умолчанию.

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

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

EDIT: большое спасибо Ориону за то, что он указал на мое замешательство на рамках. Вы получаете 3.0 " из ворот, если вы находитесь на XP SP2 или Vista. Все остальное потребует простой загрузки или запуска обновления Windows.


  Сведения об ответе

appple

05:18, 26th August, 2020

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


  Сведения об ответе

KOMP

04:57, 19th August, 2020

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


  Сведения об ответе

park

13:02, 10th August, 2020

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

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


  Сведения об ответе

prince

08:27, 15th August, 2020

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

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


  Сведения об ответе

SSESION

23:20, 17th August, 2020

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

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


  Сведения об ответе

LAST

12:26, 8th August, 2020

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


  Сведения об ответе

SKY

10:33, 2nd August, 2020

Mono имеет выпуск Windows, если вам абсолютно необходимо избежать зависимости от него .NET.

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


  Сведения об ответе

LAST

02:34, 21st August, 2020

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

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


  Сведения об ответе

KOMP

15:02, 15th August, 2020

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

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

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


  Сведения об ответе

COOL

09:02, 13th August, 2020

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

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


  Сведения об ответе

dump

18:12, 17th August, 2020

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

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

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

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


  Сведения об ответе

SKY

11:19, 9th August, 2020

Хорошая вещь о фреймворке .NET заключается в том, что Windows XP имеет установленную по умолчанию библиотеку времени выполнения фреймворка 2.0

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

и Vista имеет 3.5 установленных

Нет, он имеет установленный 3.0. Вы получаете WPF, но не получаете linq


  Сведения об ответе

davran

21:32, 11th August, 2020

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

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


  Сведения об ответе

piter

13:47, 26th August, 2020

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

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться