Microsoft MVP성태의 닷넷 이야기
닷넷코어 빌드 시 runtimeconfig 파일을 없앨 수 있는지.. [링크 복사], [링크+제목 복사],
조회: 7433
글쓴 사람
윤식 (rkglskame01 at gmail.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

안녕하세요.

운영하는 프로그램이 닷넷 fw 4.0기반이어서, 리팩토링과 함께 프레임웍 마이그레이션을 하려고 준비중입니다.

닷넷 fw는 최신버전도 c# 8.0지원이 되지 않는다하여 일단 코어 3.1로 시도를 해보고 있는데요.

공용pc에 배포되는 프로그램이다보니 사용자가 원문을 바로 읽을 수 있는 텍스트류 파일들은 없도록 관리를 해왔었습니다. (기존버전은 exe 1, dll 2개만 배포)

코어 3.1으로 빌드를 해보니 runtimeconfig라는 파일이 함께 생기는데, 이 파일이 바이너리와 같은 경로에 없으면 닷넷코어를 설치하라는 애러창이 뜨네요.

runtimeconfig 파일 안의 내용도 이미 프로젝트 파일 안에 있는 것 같고.. msdn이나 github 문서를 봐도 컨피그 파일이 없도록 빌드하는 옵션이 보이지 않네요.

검색하다 보니 dotnet warp라는 패키지가 있어 사용해봤는데, 결과적으로 .net core의 wpf 프로젝트에는 윈도우가 생기기 전 콘솔창이 하나 더 생겨 사용이 어려운 것 같습니다. 별개로 바이너리 크기도 사용하기 전보다 50배정도 커졌구요 (...)

혹시 같은 문제를 보신 분들이 계시다면, 조심스레 조언을 부탁드립니다.

감사합니다. 좋은 하루 되세요.


[연관 글]






[최초 등록일: ]
[최종 수정일: 7/10/2020]


비밀번호

댓글 작성자
 



2020-07-10 12시57분
.NET Core 웹 응용 프로그램의 배포 방법은 Framework-dependent, Self-contained가 있습니다. 전자는, runtimeconfig이 필요한 반면 실행에 필요한 런타임 DLL들이 함께 배포될 필요가 없습니다. 후자는, runtimeconfig이 필요하진 않지만 실행에 필요한 런타임 DLL들이 모두 EXE와 함께 배포되어야 합니다.

dotnet wrap의 경우는 우선 Self-contained 방식으로 배포가 된 것을 ilmerge와 같은 식의 기술을 사용해 합친 것으로 보입니다. (따라서 당연히 바이너리 크기가 커집니다.)

정리하면, Framework-dependent로 배포하는 경우 runtimeconfig 파일을 제외시킬 수 없습니다.
정성태
2020-07-10 01시04분
[윤식] 친절한 답변 감사드립니다. 도움이 많이 되었습니다.
[guest]
2020-07-10 01시06분
참고로, C# 8.0을 .NET Framework에서도 사용할 수 있습니다.

.NET Framework 프로젝트에서 C# 8.0 컴파일러를 사용하는 방법
; https://www.sysnet.pe.kr/2/0/12033

단지 일부 C# 8.0의 신규 문법을 사용할 수 없는 것인데, 그것도 NuGet으로부터 패키지 참조를 하면 가능합니다.
정성태
2020-07-13 03시40분
[윤식] 말씀하신대로 fw 4.8에 c#버전만 강제로 올리기로 하였습니다. 영 찝찝함이 남지만 어쩔 수 없네요.

도움 감사드립니다. 좋은 하루 되세요.
[guest]

... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
1556김응규4/22/201512532    답변글 [답변]: WCF net.tcp 관련해서 질문 드립니다. [1]파일 다운로드1
1554(삭제)4/19/201513293안드로이드 에뮬레이터에서 특정 앱 구동불가할때! [2]
1552spow...4/18/201519168마이크로세컨드 단위의 Sleep이 필요한데 찾질 못하겠습니다. [5]
1553spow...4/18/201512486    답변글 [답변]: 마이크로세컨드 단위의 Sleep이 필요한데 찾질 못하겠습니다. [1]
1551인디언기...4/16/201511857iisnode에 대해서 글 올리셨던데 질문이 있습니다 [1]
1549김선아4/15/201512346.net framework 4.5와 c++ dll에 관한 질문입니다 [1]
1550김선아4/15/201510750    답변글 [답변]: .net framework 4.5와 c++ dll에 관한 질문입니다 [2]
1547문명식4/3/201512764IWebBrowser Key Event 관련 [2]
1545나종식3/25/201511738internet explorer dns cache flush [2]
1543이용원3/23/201511691hyper-v 질문드려요! [1]
1544이용원3/24/201510849    답변글 한가지만 더 여쭤볼게요! [1]
1541임기성3/20/201518067Microsoft.Office.Core dll관련 문제 [1]
1539펜플3/17/201511407asp.net 질문입니다. [1]
1540113/17/201511384    답변글 [답변]: asp.net 질문입니다. [1]
1538열공합시닷3/13/201512148중계서버 질문드립니다 [1]
1537김재영3/11/201513235asp.net의 빌드 유휴시간 이후의 리빌드 작업을 컨트롤 할 수 있습니까? [2]
1536솔솔3/9/201511692mac address얻으려고 하는데요.. [1]
1535Stud...3/4/201512268C#엔 MFC의 theApp 과 같은 기능을 하는것이 없나요? [3]
1534김동진3/4/201511692C#에서 BHO로 Windows Explorer에서의 동작이 가능할지요 [2]
1533김동현3/3/201512027컴파일 된 프로그램에 코드 삽입(?) 관련입니다. [1]
1532반가워요3/3/201514627C# 소켓연결에 packet송수신... [8]
1531강현수3/2/201513278C# com 등록 시 GUID 변경 관련 문의 [1]
1529김민규2/15/201513163C++ 64bit/32bit [3]파일 다운로드1
1528김개똥2/14/201510674좀 관련없는 질문이지만, 정말 답답하고 찾는데 명확한 해답 찾지못해 질문 올립니다. <Windows 사용자 인증> [1]
1527방문자1/27/201511690System Timer의 Tick에서 Backgroundworker를 호출하면 스레드 문제가 있을까요? [1]
1526황상대1/26/201513548C# 마샬링 관련 질문이 있습니다. [1]
... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...