.NET 5 이상의 프로젝트에서는 Fody.Costura보다 닷넷에서 자체적으로 지원하는 SingleFile Publish를 이용하는 것이 호환성 문제도 없고 더 적합합니다.

자세한 내용은 다음 링크를 참고해주세요: https://learn.microsoft.com/ko-kr/dotnet/core/deploying/single-file/overview?tabs=cli

아래 내용은 .NET Framework 4.8 이하에서 활용하는걸 권장합니다.

Fody.Costura는 참조하는 DLL 파일들이 EXE파일에 내장되게 해주는 라이브러리인데, Debug모드에서 사용할때는 좀 번거로운 일들이 생기는 것 같아 Release 모드에서만 작동하게 했다.

본인의 프로젝트 파일([프로젝트명].csproj)을 텍스트 편집기로 연다.

첫 번째 PropertyGroup 안에 <DisableFody Condition=”‘$(Configuration)’ == ‘Debug'”>true</DisableFody> 를 추가한다. 결과적으론 아래와 비슷하게 추가되어 있으면 된다.

(아래 내용은 3.x.x 같은 예전 버전에서의 해결책입니다만, 자료 보존을 위해 남겨둡니다)

<Import Project=”..\packages\Fody.3.3.5\build\Fody.targets” 처럼 되어있는 줄을 찾아 Condition에 아래 값을 추가한다.

‘$(Configuration)’ == ‘Release’

만일 이미 Condition값이 있다면 아래처럼 AND를 이용해서 위의 조건을 덧붙인다.

Condition=”Exists(‘..\packages\Fody.3.3.5\build\Fody.targets’) AND ‘$(Configuration)’ == ‘Release'”

최종적으로는 아래처럼 되어있어야 한다.

<Import Project=”..\packages\Fody.3.3.5\build\Fody.targets” Condition=”Exists(‘..\packages\Fody.3.3.5\build\Fody.targets’) AND ‘$(Configuration)’ == ‘Release'” />

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.