2010-02-19 3 views
1

d : \ abc 디렉토리에 Microsoft .office.interop.excel (dll)이 있습니다. 지금은 오히려 뒤에 내 코드에서 동적으로 DLL을 호출 내 인텔리의 웹 참조로 추가하고코드 뒤에서 동적으로 dll 파일을 호출하는 방법 (.cs)

을 그들에게 전화하고 싶지 않아 (.cs)는 는 THER 우리가 dynmically

anyhelp는 것 할 수있는 방법입니다 be greater 감사합니다.

답변

1

네,하지만 참조로 어셈블리를 추가하지 않으면 리플렉션을 사용해야합니다. 컴파일시에는 어셈블리를 알 수 없으므로 리플렉션을 사용해야합니다. LoadFrom 방법을보십시오.

var assembly = Assembly.LoadFrom(@"d:\abc\microsoft.office.interop.excel.dll"); 
var someType = assembly.GetType("Namespace.Type"); 
var instance = Activator.CreateInstance(type); 
someType.InvokeMember(... // the reflection pain goes on 
+0

안녕하세요, 대런 디미트로프 말씀하신대로 위 방법을 사용했습니다. 이제 Excel 파일에서 sqlserver 2005에 값을 어떻게 삽입합니까? – happysmile

0

Assembly.Load() 방법을 살펴보십시오.

0

나는 그렇게하지 못하게하고 싶습니다. dll을 바이트 []로 읽고 AppDomain.CurrentDomain.Load(byte[])을 호출하면 확실히 수행 할 수 있습니다. 그러나 리플렉션을 통해 해당 어셈블리 유형으로 만 작업 할 수 있다는 것을 알게됩니다. 그렇지 않으면 코드 숨김 파일이 컴파일되지 않습니다. 따라서 가능한 모든 경우 dll에 참조 (웹 참조 아님)를 추가해야합니다.

관련 문제