Microsoft MVP성태의 닷넷 이야기
글쓴 사람
박원웅
홈페이지
첨부 파일
 

안녕하세요.

현재 진행중인 내용은 닷넷프레임워크로 개발된 윈폼, 웹 등 여러가지의 구성요소가 있습니다.
프레임워크의 경우 윈도우 환경에서 구동된다는 전제로 일반적으로는 산출물에 사용된 프레임워크 버전이 설치되어있다는 전제로
제품을 배포하고 배포하기전 설치되어 있지 않은 경우 프레임워크를 우선 설치하는것이 필수여야 하는것으로 알고있습니다.

궁금한사항은

"만약 저희 산출물이 구동되어야 하는 환경이 개발에 사용된 프레임워크 버전이 설치되어 있지 않은 상태에서
해당 프레임워크 버전을 설치하지 않고 동작시키는 방법이 있을까?" 라는 겁니다.

산출물에 사용된 프레임워크의 어셈블리 등을 포함하여 배포하고 구동시에도 포함된 어셈블리로 구동되게 하는 방식등이 가능할까?
입니다.

그리고 설치된 어셈블리를 참조하여 사용하는 것과 해당 프로젝트에서 nuget으로 추가하여 사용하는 것은 어떤 차이가 있는지도 궁금합니다.

조언 부탁드립니다.
감사합니다.








[최초 등록일: ]
[최종 수정일: 11/22/2021]


비밀번호

댓글 작성자
 



2021-11-22 10시23분
.NET Framework는 반드시 대상 컴퓨터에 해당 버전의 프레임워크가 설치되어 있어야 합니다. 반면, .NET Core/5+로 개발한다면 가능합니다.

참고로, .NET Framework의 경우, 과거에 .NET 2.0 대상으로 빌드하고 .NET 4.0 지원을 supportedRuntime으로 구성한 적이 있습니다. ("https://www.sysnet.pe.kr/2/0/1233")

이렇게 만들면 (어떤 버전이든 상관없이) .NET Framework만 설치되어 있으면 어디에서나 별도의 .NET 버전 설치 없이 실행하게 만들 수 있습니다. 하지만 코드에서 사용할 수 있는 BCL은 모두 .NET 2.0을 기준으로 제약이 된다는 단점이 있습니다. 사실 요즘의 환경에서는 .NET 2.0은 배제하고 그냥 .NET 4.0의 supportedRuntime만 구성해도 어느 PC에서나 실행될 수 있을 것입니다.

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0.30319"/>
  </startup>
</configuration>
정성태
2021-11-22 05시23분
[seokwon] 닷넷 프레임워크가 아닌 닷넷5, 닷넷6에서 윈폼은 Self Contain 방법으로 단독 배포가 가능합니다.
[guest]
2021-11-24 12시20분
[박원웅] 답변 감사드립니다. 좋은 참고사항이 되었습니다.
[guest]

1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5808근우1/30/202310733WPF 에서 UserControl 과 ControlTemplate 의 차이점은 무엇인가요? [6]
5807궁금맨1/28/202313054C# 10 책에 나온 예제의 결과가 제 컴에서는 좀 달라서요. 이유가 궁금합니다. [1]
5806스레드1/25/202310303총정리 - 다양한 스레드들 [초안] [1]파일 다운로드1
5805어웨이트1/25/202310046Taskcontinuewith vs Async/Await [2]파일 다운로드1
5804나이많은...1/25/20239885MS의 Dependency Injection(DI)에 AddSingleton으로 등록된 객체의 Event 등록후 사용시 앱 종료시 별도로 Event를 해지해야 하나요? [2]
5803dssc...1/24/202310257드라이브 문자를 통해서 물리 디스크 명칭을 알아내고 싶습니다. [1]
5802모바일앱1/22/202310742XAMARINE vs Android Studio [7]
5801블루투스1/19/202311407WPF 은행지폐계수기 개조 후 결과값 서버 전송 [2]파일 다운로드1
5800김민아1/19/202311565안녕하세요 가비지 컬렉터 동작 원리 중 궁금한점이 있습니다 [5]
5799guest1/19/202310876C# 공유폴더 내 Acess 디비 공유 [2]
5798kss1/19/202310062책 오탈인가요? [1]
5797이거비버1/19/20239864C# 공부 이후 MS 프레임워크.. 어느것을 공부해야할까요? 너무 많아서 정신이 없네요 [5]
5796guest1/19/20239646해킹 test [3]
5795동기1/18/20238977동기 스레드와 메서드와 While [2]
5794박규동1/18/20239178.net publish 할때마다 runtimeconfig 값이 바뀌는 현상 [1]
5793후후훗1/18/20239653.NET Core 에서 사용중인 함수 후킹 방법 [2]
5792Will...1/18/20239534소스코드 Log Write 기능을 리스트업 질문 [9]
5791PLC1/16/202310174C# - 실시간 5개 룸 모니터링 [15]
5790집으로 ...1/13/20239809[UI 멈춤 현상]deadlock 관련 글을 보고 혹시나 하고 문의 드립니다. [4]
5789guest1/10/20239708스레드와 Async Task [2]파일 다운로드1
5788kr11/10/202310154C# 에서 제공하는 컬렉션들의 차이점이 궁금합니다. [3]
5787stack1/10/202310040STACKOVERFLOW [1]
5786Dev ...1/9/202311857익명 클래스 말고 익명 구조체는 불가능한걸까요? [4]
5785음성인식1/8/202311554음성인식 System.Speech - 문법에 사용된 언어가 음성 인식기의 언어와 일치하지 않습니다. [2]
5784MS워드1/8/202310816MS워드에서 ctrl Z는 클립보드를 이용하나요? 아니면 참조자 이용하나요? [7]
5783구직자1/7/202310095C#개발자 구인광고와 초급개발자 [3]파일 다운로드1
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...