2008-08-14 2 views
5

.NET에서 데스크톱 응용 프로그램을 개발할 때 .NET Framework가 필요하지 않을 수 있습니까? .NET에서 소프트웨어를 개발하여 데스크탑 응용 프로그램을 개발하는 것이 더 좋은 방법입니까? 소프트웨어 회사가 데스크톱 응용 프로그램을 개발할 때 가장 많이 사용하는 프로그래밍 언어는 무엇입니까?.NET Framework 종속성

.NET Framework의 요구 사항은 설치 한 Windows OS를 기반으로 가정되므로 Windows OS 버전 요구 사항이 나열된 이유는 무엇입니까?

답변

9

C/C++을 사용하여 Windows 데스크톱 용 응용 프로그램을 개발할 수는 있지만 .NET Framework에 대한 요구 사항은 없지만 필요한 라이브러리가 이미 시스템에 설치되어 있거나 설치되어 있는지 확인해야합니다.

.NET 프레임 워크에 대한 좋은 점은 Windows XP SP2 및 Vista에 기본적으로 설치된 3.0 프레임 워크 런타임이 있다는 것입니다.

이것은 많은면에서 Microsoft의 "개발 표준"이며 잠시 동안 그런 식으로되어 왔습니다. 이렇게하면 응용 프로그램에 많은 라이브러리를 추가하는 것에 대해 걱정할 필요가 없습니다. 모든 .NET 제공 라이브러리를 고수하고 있다면 실행 파일 배포에 대해 걱정할 필요가 있습니다. 이는 큰 골칫거리입니다. 라이브러리를 많이 배포해야하는 경우에도 업데이트를 작성하면 혼란에 빠지기 시작합니다. 기존 설치 프로그램과 설치된 기존의 모든 응용 프로그램에 해당 업데이트가 푸시되었는지 확인해야하기 때문입니다. .

"선호"는 언제나 깃털을 뒤 흔드는 경향이 있지만 방문하려는 경향이있는 취업 사이트에서 웹 및 데스크톱을 원하는 .NET 개발자가 점점 늘어나고 있습니다. 8^D

편집 : 프레임 워크에 대한 혼란을 지적하기 위해 오리온에게 많은 감사를드립니다. XP SP2 나 Vista를 사용하고 있다면 3.0 "을 얻을 수 있습니다. 다른 모든 것들은 Windows Update를 다운로드하거나 실행할 필요가 있습니다.

2

.Net 프레임 워크없이 .Net 앱을 실행할 수 없습니다. 프레임 워크는 지루한 백그라운드 작업 중 일부를 처리하므로 프레임 워크 없이는 앱을 실행할 수 없습니다.

-1

.NET Framework가 필요하지 않을 수도 있습니다. 당신이 이것을 할 수있게 해주는 해결책을 팔고있는 회사들이 있습니다. 그러나 이들은 Microsoft에서 지원하지 않는 완전한 해킹입니다.

데스크톱 응용 프로그램을 개발하는 방법 (예 : .NET 사용 여부)은 요구 사항에 따라 다릅니다. 선호하는 방법이 없습니다.

가장 많이 사용되는 언어는 아마도 C#입니다.

+0

정답 인 반면 이것이 왜 투표가 종료되었는지 궁금합니다. – chrissie1

2

.NET을 사용하는 Windows 플랫폼에서 데스크톱 응용 프로그램을 개발하는 것이 가장 좋습니다. .NET의 WinForms 모델은 Windows Presentation Foundation of .NET이 MS의 최신 기술 방향 인 전통 또는 두꺼운 클라이언트 응용 프로그램을 개발하는 한 가지 방법입니다.

1

내가 말하고자하는 것은 특정 소프트웨어에 대한 시스템 요구 사항에서는 .NET Framework가 요구 사항으로 간주되는 경우는 드뭅니다. 그래서 .NET Framework를 요구 사항없이 구현하는 방법에 대해 궁금합니다. (.NET에서 소프트웨어를 개발 한 경우) 나는이 질문을 부탁 해요 이유는 그래서 대부분의 상용 소프트웨어는 .NET에 기록되지 않습니다. 희망을 몇 가지 정리가.

1

Mono가 Windows 자료를 가지고, 당신이 절대적으로 .NET에 의존하지 않도록해야합니다.

당신은 그것을 보면서 어떤 식 으로든, 당신은 필요로 할 것입니다.응용 프로그램이 실행되는 모든 컴퓨터에서 NET 호환 런타임. 따라서 .NET을 완전히 피하려면 응용 프로그램과 함께 Mono 런타임을 배포해야 할 것입니다.

1

.NET 응용 프로그램 배포의 가장 좋은 관행은 필수 프레임 워크가 아직 설치되지 않은 경우 (예 : Windows XP에서 3.5가 필요함) 설치 프로그램이 필요한 프레임 워크의 .NET 재배포 가능 설치 프로그램으로 어떻게 든 부트 스트랩된다는 것입니다. 설치 관리자가 그냥 넣을 것입니다.

.NET 런타임은 가능한 한 작습니다 (.NET 2.0의 경우 약 24MB이고 .NET 3.5가 얼마나 큰지 확인하지 않았습니다).

1

나는 내가 무엇을 말하려고하고있어 내가 특정 소프트웨어에 대한 시스템 요구 사항을 볼 때 나는 거의 적 요구 사항 인 것으로 .NET 프레임 워크를 볼 이다 같아요. 그래서 나는 항상 그들이 어떻게 요구 사항없이 (그들이 의 소프트웨어를 .NET에서 개발했다면)없이 얻는 지 궁금해합니다. 그래서, 대부분의 상업용 소프트웨어가 .NET으로 작성되지 않았다고 가정합니다. 그래서 나는이 질문을하고 있습니다. 몇 가지 사항을 정리 한 희망.

저는 숫자가 없지만 대부분의 사람들이 데스크톱에서 XP와 Vista를 실행하고 있기 때문에 .NET 프레임 워크를 나열하는 것이 바람직하지 않다고 생각합니다. 응용 프로그램 자체에서 2.0 프레임 워크를 대상으로합니다. 이전에 Windows가 기본적으로 설치 되었기 때문에 "vbrun50.dll이 필요합니다"또는 이와 관련하여 몇 가지 응용 프로그램을 보았습니까?

끔찍한 컴퓨터가 아닌 사람들에게는 플러스가됩니다. 앱을 다운로드, 설치 및 실행하기 만하면됩니다. 내가 가지고있는 몇 가지 응용 프로그램은 2.0 프레임 워크가 필요하며 어떤 사람이 그 것을 묻습니다. 어떻게 얻습니까? 그리고 비용이 들지 않습니까? 내가 제공하는 전형적인 대답은 "XP 나 Vista를 사용하고 있다면 걱정할 것이 없습니다"라고 말합니다.

0

.NET에서 (C#을 사용하는) 프로그래밍을했는데 여러 컨트롤에 대해 더 많은 제어가 필요할 때가 많다는 것을 깨달았습니다. 이러한 요구 사항은 .NET 프레임 워크를 넘어서서 확장되었습니다.

예를 들어 WebBrowser 컨트롤을 사용하여 웹 응용 프로그램 용 자동화 테스트 도구를 제작할 때 저수준 axWebBrowser ActiveX 컨트롤의 이벤트 처리기가 필요하고 문서가 부족하다는 것을 알았습니다 많은 COM Interop 개념이 통합되었습니다. 아마도 COM에 대한 지식이 유용 할 수 있습니까?

0

나는 내가 무엇을 말하려고하고있어 내가 특정 소프트웨어에 대한 시스템 요구 사항을 볼 때 나는 거의 적 요구 사항 인 것으로 .NET 프레임 워크를 볼 이다 같아요. 그래서 나는 항상 그들이 어떻게 요구 사항없이 (그들이 의 소프트웨어를 .NET에서 개발했다면)없이 얻는 지 궁금해합니다. 그래서, 대부분의 상업용 소프트웨어가 .NET으로 작성되지 않았다고 가정합니다. 그래서 나는이 질문을하고 있습니다. 몇 가지 사항을 정리 한 희망.

Windows 데스크톱 용 C++/MFC로 개발 된 많은 응용 프로그램은 명시 적으로 요구 사항으로 나열되지 않을 수도 있지만 특정 버전의 MFC 런타임 DLL을 필요로합니다. .NET을 필요로하는 애플리케이션에서도 마찬가지가되었다고 생각합니다.

예를 들어, .NET과 MFC의 특정 버전뿐만 아니라 다른 여러 필수 구성 요소에 대한 재배포 가능 파일이 포함 된 응용 프로그램을 제공합니다. 우리의 설치 프로그램은 현재 사용자 시스템에 설치되지 않은 모든 구성 요소를 설치합니다. 지난 몇 년 동안의 모든 릴리스는 이전 릴리스보다 .NET 코드가 더 많이 사용되었습니다.

대부분의 상용 소프트웨어가 .NET을 사용하지 않는다고 가정하는 것이 정확하지 않다고 생각합니다. 요구 사항으로 나열되지 않았기 때문입니다. 나는 당신이 그걸로 정확히 생각할 수 있다고 생각하지 않습니다.

1

.NET Framework를 정적으로 링크하는 것과 같은 일을 할 수 있다면 개발할 필요가 없다고 생각하여 Microsoft에서 제공하는 EULA를 위반하게됩니다!

풍부한 개발자 경험을 제공하는 데 드는 비용입니다. MFC 프로그래밍으로 돌아가는 어려움을 고려할 때 가치가 있습니다!

0

은 .NET 프레임 워크의 좋은 점은 윈도우 XP가 언제부터 기본

에 의해 설치된 2.0 프레임 워크 런타임 라이브러리를 가지고 있다는 것입니다? 나는 Windows XP 사용자들에게 많은 것을 설치해야한다고 말해야했습니다. 네, 당신은 Windows 업데이트를 통해 그것을 뽑아 낼 수 있습니다,하지만 저는 그것이 선택적 설치이며 자동적으로 일어나는 일은 아니라고 확신합니다.

및 Vista는 3.5

아니, 3.0가 설치되어

을 설치되어 있습니다. 당신은 WPF를 얻을 수 있지만, 당신이 할 하지 GET LINQ

Remotesoft은 링커 제공
1

- 단일 개발자 라이센스에 $ 1250 : http://www.remotesoft.com/linker/index.html

모노 (모노의의 WinForm 데스크톱 지원을 실행 응용 프로그램이 꽤 좋은 경우를 이제) 하나의 실행 파일 인 Mono 번들로 앱을 패키징 할 수 있습니다. 두 가지 옵션이 있습니다. 기본값은 런타임을 포함하지만 정적 링크는 아니며, 다른 옵션은 정적 런타임으로 Mono 런타임에 연결됩니다. 정적 링크를 원하지 않는 이유는 애플리케이션을 LGPL에 배치하기 위해서입니다. 정적 링크가 아닌 번들 (여전히 단일 exe)에는 해당 요구 사항이 없습니다. http://www.mono-project.com/Mono:Runtime#Bundles

1

"ClickOnce Deployment"을 사용하면 .Net 2.0, 3.0 및/또는 3.5 재배포 가능 설치 프로그램을 응용 프로그램에 쉽게 추가 할 수 있습니다. 프로젝트 속성에서 확인란을 클릭하기 만하면 설치 프로그램이 사전 구성 프레임 워크가 설치되었는지 여부를 자동으로 감지하고 그렇지 않은 경우 설치합니다.

모든 상황에 적합하지 않지만 활용할 수 있다면 꽤 매끄럽다.

0

예, 프레임 워크를 사용하지 않고 도트 NET으로 작성된 응용 프로그램을 만들 수 있습니다. ESS dotNET FuZe와 같은 프로그램을 사용하여 프레임 워크 dll을 포함한 모든 dll을 응용 프로그램에 통합 할 수 있습니다. 결과로 나오는 EXE는 더 이상 프레임 워크를 필요로하지 않습니다.

FuZe를 보려면 http://essaver.net/fuze.html 링크를 클릭하십시오.