2009-04-28 2 views
6

전체 프레임 워크를 설치하는 대신 설치 프로젝트와 함께 내 프로그램에 사용되는 .Net 프레임 워크의 특정 dll 만 포함시키는 방법은 무엇입니까? .NET이 설치되어 있지 않으며, 단지 그것을 특정 시스템을 설치했다. * 당신을 위해 필요한 DLL을.Net 프레임 워크 전체가 아닌 필수 dll 만 포함 할 수 있습니까?

감사

+0

그래서 내가 틀렸다면, 사용자의 PC에 .NET 프레임 워크가 설치되어 프로그램을 만들 수 있는지 여부를 알고 싶습니다. 맞습니까? – Natrium

+0

할 수없는 모든 명령문은 다음과 같습니다. 정확하지 않습니다. 제 3 자 도구가 있습니다 ... 내 의견을 참조하십시오. 그 중 하나에 대한 링크가 있습니다. – Lucero

답변

4

here으로 설명한. NET 클라이언트 프로파일을 권하고 싶습니다. ".NET Framework Client Profile은 클라이언트 응용 프로그램을 대상으로하는 전체 .NET Framework 3.5 SP1의 하위 집합이며 Windows Presentation Foundation (WPF), Windows Forms, WCF (Windows Communication Foundation) 및 ClickOnce의 하위 집합을 간소화합니다. .NET Framework Client Profile을 대상으로하는 WPF, Windows Forms, WCF 및 콘솔 응용 프로그램에 대한 신속한 배포 시나리오를 구현할 수 있습니다."

6

당신은 서버에 .NET 응용 프로그램을 배포 할은, 응용 프로그램이야?

나는 이것을 할 수 없다고 확신한다. 프레임 워크에는 GAC에있는 많은 DLL이 있습니다. (예 : CLR, 레지스트리 항목 등). 클라이언트 시스템에 프레임 워크를 설치해야합니다.

4

저는 할 수 없다고 확신합니다. C#은 관리되는 코드이므로 CLR과 프레임 워크를 지원해야합니다.

바이너리로 컴파일 된 다른 언어와 달리 .NET 코드는 MSIL (Microsoft Intermediate Language)로 컴파일되어 하드웨어에서 직접 실행할 수 없습니다.

1

나는 Salamander tools을 알고 있지만 사용하지는 않았다. 자신의 사이트에서

"도롱뇽 .NET 링커, 네이티브 컴파일러와 미니 배포 도구, 배포 .NET/프레임 워크 O W"당신의 pogram 실행하기 위해서는

2

번호, 대상 컴퓨터가 있어야합니다 적절한 버전의 .Net 프레임 워크가 설치되어 있어야합니다. 전체 SDK를 애플리케이션에 묶을 필요는 없지만 애플리케이션에 적합한 재사용 가능한 .NET 프레임 워크를 포함해야합니다.

1

당신은 어셈블리를 연결하는 Xenocode 같은 도구를 사용할 수 있습니다.

무료 링커가 있습니다 (Microsoft에서 생각합니다).하지만 그 이름은 나를 벗어납니다.

0

리플렉션을 사용하여 종속 어셈블리를 식별하고 배포와 "연결"할 수 있습니다. Java 토양에서 비슷한 기술을 사용했습니다.

+0

그러나 대상에 여전히 CLR이 설치되어 있어야합니다 체계. –

1

이것은 불가능합니다. 대상 컴퓨터에서 적절한 .NET Framework 런타임을 가져야합니다. 당신이 요구 한 것은 타사 라이브러리/어셈블리에서는 가능하지만 닷넷 런타임에서는 불가능합니다.

3

.Net 3.5 SP1 이후로 .NET Framework Client Profile을 사용할 수있는 옵션이 있습니다. 따라서 특정 지원되는 시나리오에서 전체 .Net 패키지의 하위 집합을 배포 할 수 있습니다. 그래도 설치 프로그램을 사용해야합니다. 개별 어셈블리를 배포 할 수는 없습니다. 패키지 크기와 배포 시간이 크게 단축됩니다.

관련 문제