개발중인 응용 프로그램에서 "ngen install ..."을 실행했습니다. 하지만 어셈블리를 덮어 쓰기 전에 일부 버전/시나리오 (디버그 등)에서 "ngen uninstall ..."을 실행하지 않았습니다. 이제는 * .ni.exe 및 * .ni.dll이 "C : \ Windows \ assembly \ NativeImages_v4.0.30319_64 \ AssemblyName \ hashkey"형식의 폴더에 나타납니다. (DLL은 내부적으로 사람을 개발하고 있습니다.) 나는이를 제거IL 어셈블리와 일치하지 않는 ngen으로 생성 된 오래된 .net 기본 이미지를 제거하는 방법은 무엇입니까?
닷넷 4. 어쨌든 있나요 사용하고
? 나는 "고아원 업데이트"를 시도했는데, 고아가 된 네이티브 이미지에 닿지 않는 것 같습니다. 물론 수동으로 삭제할 수는 있지만, 어셈블리가 의존하는 시스템 DLL에 대한 참조 횟수가 너무 많아 지거나 .net 시스템에 나쁜 영향을 미칩니다.
공간을 차지하는 것 외에이 오래된 어셈블리는 어셈블리 바인더가 현재 IL을 각 기본 어셈블리와 일치 시키려고 할 때 시작 지연을 아프게합니다.
또한 명령 줄을 사용하는 대신 기본 이미지 캐시에있는 것을 보는 더 좋은 방법이 있습니까?
감사
'ngen uninstall AssemblyName'이 작동하지 않습니까? – cremor
전체 어셈블리 이름이 작동합니다. 감사합니다! (Name, Version = x.x.x.x, Culture = neutral, PublicKeyToken = null) – Jeevaka