1 Crie uma nova biblioteca de classes MyTestDLL
2 Clique com o botão direito do mouse no projeto "MyTestDLL"-"Propriedades-"Gerar-"Marque "Registrar para interoperabilidade COM"
3 Abra o arquivo AssemblyInfo.cs e modifique [assembly: ComVisible(true)]
4 Abra a ferramenta de prompt de comando do Visual Sutdio 2008, digite guidgen.exe, selecione DEFINE_GUID e clique em "Novo GUID"
5 códigos
1. Cada nome de classe corresponde a um nome de interface. O nome da interface é o nome da classe mais um I maiúsculo.
2. O método declarado na interface deve utilizar o atributo [DispId(n)]
3. A classe deve ter um construtor sem parâmetros
Código
usando o sistema;
usando System.Collections.Generic;
usando System.Linq;
usando System.Text;
usando System.Runtime.InteropServices;
namespace MyTestDll
{
//O Guid aqui é gerado na etapa 4.
[Guia("FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF")]
interface pública IMyTestDll
{
[DispId(0)]
string GetAbout();
}
classe pública Test1:IMyTestDll
{
Resumo de string privada;
publicTest1()
{
summary = "Este é meu primeiro teste";
}
string pública GetAbout()
{
resumo do retorno;
}
}
}
6 Gerar projeto
código de teste asp
<%
Escurecer
Definir o = Server.CreateObject("MyTestDll.Test1")
Response.Write o.GetAbout()
Definir o=Nada
%>
Dica: Caso queira utilizar o componente COM que desenvolvemos em C# em outros computadores, você também precisa registrá-lo no regasm.
O método é:
Primeiro, copie os arquivos do diretório binDebug para o computador de destino, abra a ferramenta de prompt de comando e digite:
regasm O diretório/filename.dll que você copiou para /tlb f:/dll/filename.tlb /codebase
Ele pode ser executado neste computador.
Referências:
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
-