asp.net 웹 사이트를 사전 컴파일하기 위해 aspnet_compiler를 사용합니다. 그런 다음 aspnet_merge를 실행하여 프리 컴파일 된 어셈블리를 하나로 병합합니다.aspnet_merge가 dll을 찾을 수 없음 오류를 발생했습니다.
아쉽게도 aspnet_merge는 병합 프로세스에서 어셈블리 중 하나를 포함하지 않습니다. 따라서이 어셈블리는 변경되지 않습니다. 더욱 불행한 점은이 어셈블리가 이으로 합쳐진 어셈블리 중 하나를 참조하고이 참조가 aspnet_merge에 의해 업데이트되지 않는다는 것입니다. 따라서이 DLL을 사용할 때 FileNotFoundException "파일 또는 어셈블리를로드 할 수 없습니다."이 발생합니다. 나는이 왜 aspnet_merge 무시 추측
App_Web_nameofusercontrol.ascx.xxxxxxxx.dll
:
지금까지 내가 잘못된 DLL이 같은 이름이있는 반면 프리 D 단계 이후, 대부분의 어셈블리
App_Web_xxxxxxxx.dll.
같은 이름이 있는지 파악 그것. aspnet_merge가 -log 옵션을 사용하여 무시하고 입력 어셈블리 목록을 생성한다는 것을 확인했습니다.
나는이 같은 aspnet_compiler 및 aspnet_merge 전화 : 나는 현재 디 컴파일 aspnet_merge 코드를 찾고 있어요
aspnet_compiler.exe -v VirtualDirectoryName -p ActualDirectory c:\precompileoutput
aspnet_merge.exe c:\precompileoutput -o mergeddllname
, 그것은 병합 DLL을하는 결정, 그러나 아마 누군가가이 때 사용 어떤 논리를 이해하려고 노력 전에이 문제를 보았거나 제안이 있습니까?
aspnet_merge가 이해할 수있는 dll을 aspnet_compiler에서 생성하는 방법을 찾고 있습니다. aspnet_merge가 삭제하는 app_web * dll을 참조하는 모든 어셈블리를 업데이트하도록 유도하는 방법을 찾고 있습니다. 감사!
업데이트 : aspnet_compiler는 해당 .compiled 파일을 생성하지 않기 때문에 aspnet_merge에서, App_Web_nameofusercontrol.ascx.xxxxxxxx.dll을 무시합니다. 또한 usercontrol은 App_Web_xxxxxxxx.dll 어셈블리 중 하나로 컴파일 된 것으로 보입니다. 그러나 동일한 사용자 정의 컨트롤이 두 개의 다른 어셈블리로 컴파일되는 이유를 알지 못합니다. 아마도 이상한 순환 참조 문제일까요?