2011-01-09 4 views
0

ILMerge를 포스트 빌드 이벤트로 사용하여 일부 dll을 단일 dll로 결합합니다. 그것은 일하고 dll을 결합하지만 이상한 문제가 있습니다. 프로젝트가 빌드됨에 따라 dll이 열립니다 (외부 DLL 만 프로젝트 DLL이 아닙니다)! 그리고 DLL을 여는 응용 프로그램을 닫을 때만 빌드가 진행되지 않습니다.이 경우에는 dll을 열기위한 기본 응용 프로그램으로 반사경을 설정했습니다. 포스트 빌드 이벤트 명령어는 다음과 같습니다 :Ilmerge가 빌드 중에 dll을 열게합니다.

"..\..\..\..\..\..\..\External\Tools\ILMerge\2.10.0\ILMerge" /out:"$(ProjectDir)$(OutDir)Combined.dll" "$(TargetPath)" 
"$(ProjectDir)$(OutDir)Core.dll" 
"$(ProjectDir)$(OutDir)Resolver.dll" 
"$(ProjectDir)$(OutDir)AjaxMin.dll" 
"$(ProjectDir)$(OutDir)Yahoo.Yui.Compressor.dll" "$(ProjectDir)$(OutDir)EcmaScript.NET.modified.dll" 

누구나 문제가 있습니까?

답변

1

Hehe, 다소 재미 있습니다. DLL 이름 사이의 줄 바꿈을 제거하십시오. 내 소식을 분명하게 편집 할 것입니다.

DLL을 한 줄로 사용하면 ILMerge에 대한 인수 대신 빌드 명령으로 해석됩니다. 그것은 귀하의 경우에는 "반사경에서"열려있는. dll 파일에 대한 기본 동작을 호출합니다.

+0

이상한 분! 그것들을 모두 한 줄에 넣으면 작동합니다. 감사! – amateur

+0

나는 당신이 제안한 변화를 만들었고 굴절 장치 문제가있는 파일의 열기를 해결합니다. 하지만 이제는 "코드 1로 종료되었습니다."라는 오류 메시지가 나타납니다. 무슨 일이 일어날 지 모르는 어떤 생각? – amateur

+0

더 이상이 질문과 관련이 없습니다. 다른 것을 시작하십시오. 제대로 문서화하는 것을 잊지 마십시오. –

관련 문제