msi 설치 프로그램을 호출하는 프로그램이 있습니다. msi 패키지를 성공적으로 설치 한 후 GAC의 msi 패키지에 추가 된 어셈블리를로드하려고했습니다. 어셈블리를로드 할 수 없지만이 특정 어셈블리가 GAC에 추가됩니다. 두 번째로 프로그램을 실행하면 어셈블리가 올바르게로드됩니다. 여기에 MSI 패키지가 설치되어 있지 않은 경우, 나는이 기능을 실행할 때, 난 항상 어셈블리를 처음로드되지받을 의사 코드어셈블리를 GAC에 설치 한 직후로드
load assembly(assemblyname)
{
if(!Assembly.load(assemblyname))
msi.install();
Assembly assembly =Assembly.load(assemblyname)
if(assembly == null)
console.writeline("assembly not loaded");
}
입니다. 어쨌든 이것은 프로그램이 실행되기 전에 존재하는 GAC 목록과 관련이 있다고 생각합니다. 내가 이것을 다시로드 할 수있는 방법이 있습니까?
결과를 캐싱하고 있다고 생각하면 –
다른 appdomain에서 첫 번째 테스트를 수행 할 수 있습니다 –
정규화 된 어셈블리 이름을 사용해 보았습니까? – terrybozzio