c# DLL 포함 exe 빌드하기

윈도우 닷넷계열은 제가 많이 접하지 못한 환경이다보니 참으로 생소합니다. 요즘 개인적으로 개발하는 프로그램이 있는데, 컨트롤러를 추가하다 보니 하나둘씩 dll 파일이 계속 늘어나게 되었습니다. 이걸 어떻게 없애버릴지 궁리를 하가다 괜찮은 패키지가 있어서 알려드리도록 하겠습니다.

 

처음에 검색한 부분은 패키지 설정을 바꾸는 부분이었는데요. 아직 이해를 못하였기에 감히 적용할 생각을 못하였고, 간단하게 처리할 수 있는 Fody라는 패키지 설치방법으로 해결을 하였습니다.

 

 

 

2017/10/12 - [IT정보/C#] - c# 외부아이피 가져오기

2017/09/24 - [IT정보/C#] - C# 경고창 만들기

2017/09/17 - [IT정보/베가스] - 베가스 이미지 비율 맞추기

2017/09/07 - [IT정보/유틸리티] - 크롬 이미지 일괄 다운로드 플러그인 소개

2017/07/18 - [IT정보/환경설정] - iptime 공유기 2대 연결 꿀팁

 

 

c# DLL 포함 exe 빌드하기

 

간단하게 윈도우 폼을 만들고 이제 적용하는 단계라서 용어나 사용상에 어려움이 많습니다. 하나둘씩 알아가면서 개발을 하고 있는데, 프로그램이 완성되어 가는걸 보니 참으로 뿌듯하네요.

 

DLL를 포함하기 위해서는 간단하게 Nuget Package에서 패키치를 설치해주시면 됩니다. 바로 오픈소스인 fody 패키지인데요. 제가 직접 적용을 해보니 Nuget Package에 있는 fody를 설치하고 나서 바로 적용이 되는 것이 아니라 패키지 관리 콘솔에서 관련 패키지를 추가로 설치하면서 xml파일 설정을 업데이트를 해주어야 제대로 동작하는 것을 확인하였습니다.

 

참고사이트 : 예제로 배우는 C# 프로그램

 

 

참고사이트를 해서 설치를 해보니 제가 사용하는 환경하고는 다른건지 그대로 적용이 되지는 않았습니다. Costura.Fody를 사용하기 위해서 Install-CleanReferencesTarget 명령어로 패키지매니저 콘솔에서 실행을 해야 한다고 하는데요. 실재적으로는 실행자체가 되지가 않았습니다.

 

 

 

 

설치절차 안내

1. Nuget Package에서 fody를 다운 받아주시고, 업데이트까지 끝나주세요. 그런다음 Visual Studio를 다시 재부팅해주셔야 합니다.

 

 

Fody, Cilador.Fody는 종속 패키지이기 때문에 두가지 모두 설치가 되며, 설치후 업데이트를 필히 해주시기 바랍니다.

 

 

업데이트가 완료되면 재부팅을 요구하는데요. 이걸 무시하고 진행하면 진행은 되는것 같으면서 동작을 하지가 않습니다. 꼭 무시하지 마시고 진행을 해주세요.

 

 

2. 재부팅후 패키지 관리자 콘솔에서 아래 명령어를 입력하여 주시기 바랍니다.

  

 

명령어 : Install-package Costura.Fody

 

 

 

 

3. 프로젝트를 리빌드 해주세요.

 

위에 말씀드린 절차로 제가 테스트를 해보니 제대로 적용이 되어서 설치만으로 c# DLL이 자동으로 포함이 되어서 빌드가 되었습니다.

 

 

2.번 과정을 안거치시거나, 리부팅을 안하고 진행을 하시면 위처럼 Fody/Costura 항목들이 나타나지 않으며, 제대로 동작을 하지가 않습니다.

 

무슨이 이유인지는 모르겠는데, Nuget에서 Fody를 설치만 하면 설정이 적용이 되지가 않습니다. FodyWeavers.xml 설정파일이 생성이 되는데, 기본 로드값이 뭔가 빠져서 안되는데요. 패키지 관리자에서 설치를 하면서 추가가 되는것같습니다.

 

참고하셔서 c# DLL 포함해서 빌드를 하시기 바라겠습니다.

 

 

※ 2017.10.17 추가사항

 

Selenium을 사용하시는 분들의 경우 ChromeDriver 로드상에 문제가 생깁니다.

 

 

패키지 관리자 콘솔에서 Install-Package Costura.Fody -Version 1.4.1 로 버전업을 사용하시면 해결됩니다