1 새로운 클래스 라이브러리 MyTestDLL을 생성합니다.
2 프로젝트를 마우스 오른쪽 버튼으로 클릭하세요. "MyTestDLL"-"속성-"생성-""COM interop에 등록" 체크
3 AssemblyInfo.cs 파일을 열고 [어셈블리: ComVisible(true)]를 수정합니다.
4 Visual Sutdio 2008의 명령 프롬프트 도구를 열고 guidgen.exe를 입력한 후 DEFINE_GUID를 선택하고 "새 GUID"를 클릭합니다.
5개의 코드
1. 각 클래스 이름은 인터페이스 이름에 해당합니다. 인터페이스 이름은 클래스 이름에 대문자 I를 더한 것입니다.
2. 인터페이스에 선언된 메소드는 [DispId(n)] 속성을 사용해야 합니다.
3. 클래스에는 매개변수가 없는 생성자가 있어야 합니다.
암호
시스템 사용;
System.Collections.Generic을 사용합니다.
System.Linq 사용;
System.Text 사용;
System.Runtime.InteropServices 사용;
네임스페이스 MyTestDll
{
//여기의 Guid는 4단계에서 생성됩니다.
[Guid("FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF")]
공개 인터페이스 IMyTestDll
{
[DispId(0)]
문자열 GetAbout();
}
공개 클래스 Test1:IMyTestDll
{
PRivate 문자열 요약;
공개테스트1()
{
summary = "첫 번째 테스트입니다.";
}
공개 문자열 GetAbout()
{
반품 요약;
}
}
}
6 프로젝트 생성
ASP 테스트 코드
<%
희미한 오
o = Server.CreateObject("MyTestDll.Test1")로 설정
응답.쓰기 o.GetAbout()
o=아무것도 설정하지 않음
%>
팁: C#으로 개발한 COM 구성 요소를 다른 컴퓨터에서 사용하려면 이를 regasm에 등록해야 합니다.
방법은 다음과 같습니다.
먼저 binDebug 디렉터리의 파일을 대상 컴퓨터에 복사한 후 명령 프롬프트 도구를 열고 다음을 입력합니다.
regasm /tlb f:/dll/filename.tlb /codebase에 복사한 디렉토리/filename.dll
이 컴퓨터에서 실행할 수 있습니다.
참고자료:
http://topic.csdn.net/u/20080625/13/0294fe91-200c-4939-b36b-c9a2c6781354.html
http://topic.csdn.net/t/20060314/15/4613620.html
http://cplus.e800.com.cn/articles/2009/211/1234338268521_3.html
http://topic.csdn.net/t/20020712/10/868557.html
http://www.itzhe.cn/news/20071123/21768.html
http://www.cnblogs.com/illele/archive/2007/10/25/937050.html
-