특정 .Net 어셈블리가 이미 ngen되었는지 여부를 어떻게 확인할 수 있습니까? 코드에서 확인해야합니다. 심지어 명령 행을 호출해도 괜찮을 것입니다. 지금은 이것을 결정할 방법이 전혀 없습니다.어셈블리가 ngen 된 적이 있는지 확인하는 방법은 무엇입니까?
답변
"ngen 캐시"(C : \ Windows \ assembly \ NativeImages_v2XXXXXXX)에서 어셈블리를 찾을 수 있습니다.
포함 된 어셈블리의 형식 이름은 [basename]입니다. ni [베이스 확장].
윈도우 7은 그들을 저장하는 것 같다 약간 다른 위치이며, 아니 '. C : \ Windows \ assembly –
매우 이상합니다. Windows 7이 설치되어 있고 "ngen cash"경로는 "C : \ Windows \ assembly \ NativeImages_v2.0.50727_32 \"입니다. – Sasha
확인 우리가 실행 어셈블리에 대한 네이티브 이미지를로드하는 경우 코드에서
확인합니다. 로드 된 모듈 filename 속성에서 "\ assemblyname.ni"패턴을 찾고 있습니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Diagnostics;
namespace MyTestsApp
{
class Program
{
static bool Main(string[] args)
{
Process process = Process.GetCurrentProcess();
ProcessModule[] modules = new ProcessModule[process.Modules.Count];
process.Modules.CopyTo(modules,0);
var niQuery = from m in modules where m.FileName.Contains("\\"+process.ProcessName+".ni") select m.FileName;
bool ni = niQuery.Count()>0 ?true:false;
if (ni)
{
Console.WriteLine("Native Image: "+niQuery.ElementAt(0));
}
else
{
Console.WriteLine("IL Image: " + process.MainModule.FileName);
}
return ni;
}
}
}
명령 행 해결 방법 : 명령 프롬프트에
실행 "NGEN 표시".
예 :
널 문화 = 중립 MyTestsApp, 버전 = 1.0.0.0, PublicKeyToken = 는NGEN 디스플레이 MyTestsApp.exe는
설치 한 경우, 그것은 기본 이미지 같은 것을 출력한다
반환 0 (%의 ERRORLEVEL %)을 그렇지 않으면
, 그것은 출력합니다 :
오류 : 지정한 어셈블리가 설치되어 있지 않습니다.
-1을 반환합니다.
- 1. 특정 어셈블리가 있는지 확인하는 방법은 무엇입니까?
- 2. Office 기본 Interop 어셈블리가 시스템에 설치되어 있는지 확인하는 방법은 무엇입니까?
- 3. 현지화가 있는지 확인하는 방법은 무엇입니까?
- 4. 개체가 있는지 확인하는 방법은 무엇입니까?
- 5. 어레이가 있는지 확인하는 방법은 무엇입니까?
- 6. 어셈블리가 변경되었는지 확인하는 방법
- 7. 어셈블리가 VB로 작성되었는지 확인하는 방법
- 8. Google지도 뷰포트에 마커가 있는지 확인하는 방법은 무엇입니까?
- 9. 파이썬에서 양지들이 비어 있는지 확인하는 방법은 무엇입니까?
- 10. 사용자가 아직 있는지 확인하는 방법은 무엇입니까?
- 11. .NET DLL이 등록되어 있는지 확인하는 방법은 무엇입니까?
- 12. NSManagedObject에 대한 참조가 있는지 확인하는 방법은 무엇입니까?
- 13. Linux의 ACL에 UID가 있는지 확인하는 방법은 무엇입니까?
- 14. 레일이 루트 URL에 있는지 확인하는 방법은 무엇입니까?
- 15. Wix 3.0이 포함 된 단계별 ngen
- 16. 목록 요소가 TCL에 있는지 확인하는 방법은 무엇입니까?
- 17. 프록시 서버가 구성되어 있는지 확인하는 방법은 무엇입니까?
- 18. XElement를 사용하여 요소가 있는지 확인하는 방법은 무엇입니까?
- 19. 서명 된 jar에 타임 스탬프가 있는지 확인하는 방법은 무엇입니까?
- 20. 명명 된 그룹이 MatchData 객체에 있는지 확인하는 방법은 무엇입니까?
- 21. 참조 된 테이블이 비어 있는지 확인하는 방법은 무엇입니까?
- 22. 명명 된 인스턴스가 StructureMap 2.6의 컨테이너에 있는지 확인하는 방법은 무엇입니까?
- 23. 스레드가 이벤트를 기다리고 있는지 확인하는 방법은 무엇입니까?
- 24. 어셈블리가 Authenticode로 서명되어 있는지 확인하십시오.
- 25. UI 스레드에 있는지 확인하는 방법은 무엇입니까?
- 26. 컴퓨터가 인터넷에 연결되어 있는지 확인하는 방법은 무엇입니까?
- 27. html 컨트롤이 있는지 확인하는 방법은 무엇입니까?
- 28. 인스턴스가 여전히 메모리에 있는지 확인하는 방법은 무엇입니까?
- 29. PC가 네트워크에 연결되어 있는지 확인하는 방법은 무엇입니까?
- 30. 내 WebService에 연결되어 있는지 확인하는 방법은 무엇입니까?
코드에서? 명령 줄에서? 대화식으로? 뭐? 그것은 어딘가에 파일 속성에 있어야합니다 ... –