Skip to content
13 de dezembro de 2012 / rafaelti

Criar DLL em .Net C# visível para a plataforma COM

Objetivo
Criar um DLL em .Net C# visível para  plataforma COM.

Plataforma
Windows XP/7

Conhecimento
Windows, .Net C#, DLL, Regasm e API

Introdução
Em alguns momentos é utilizado recursos que somente é possível utilizar na plataforma .Net por isso podemos utilizar o Visual Studio para construir este middleware.

Solução
No Visual Studio comece um novo projeto “Class Library”.

1º No AssemblyInfo.cs altere o bloco de

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

para

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(true)]

2º Na sua classe coloque as anotações

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace Fazenda
{
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
[ProgId("Fazenda.Vaca")]
public class Vaca
{

public string fala(string nome, ref int peso)
{

}

}

3º Registre sua DLL com Regasm que normalmente fica em C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Anúncios

3 Comentários

Deixe um comentário
  1. Amedar Consulting Group / dez 15 2012 4:14

    I would like to thank you for the efforts you’ve put in writing this web site. I am hoping the same high-grade site post from you in the upcoming as well. In fact your creative writing skills has encouraged me to get my own website now. Actually the blogging is spreading its wings quickly. Your write up is a great example of it.

  2. Gale Raycraft / jan 9 2013 20:36

    I simply want to tell you that I’m new to blogging and site-building and truly savored you’re web page. Likely I’m going to bookmark your website . You actually come with exceptional posts. Many thanks for sharing with us your blog.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: