|
 |
aspx thread: How to make a .Net component as COM component??
Message #1 by "Uma Maheswari" <maheswarim@r...> on 19 Feb 2001 13:50:55 -0000
|
|
hi,
I developed a .Net component (dll) in C#. I want
to use that component in a VB application.
I converted the dll to typelibrary file using
>>>>>tlbexp filename.dll
Then, I registered the dll using the command
>>>>>regasm filename.dll
Then I referred the filename.tlb in the VB Application.
Created an instance of the class and tried to
access an method inside it. But when running the
VB Application I get the following error,
--------------------------------------------
Runtime Error
Unable to locate Assembly 'filename,ver=0.0.0.0,Loc="",SN=null" which is
the server for CLSID 'CAFF........'
--------------------------------------------
Please help me to locate the error.
Thanks,
Regards,
Uma
Message #2 by "kasthurit" <kasthurit@c...> on Tue, 20 Feb 2001 10:42:05 +0800
|
|
Hai uma,
Here's a simple example. Create a C# file called testcomserver.cs and put
the following in it:
using System;
namespace AndyMc
{
public class CSharpCOMServer
{
public CSharpCOMServer() {}
public void SetName( string name ) { m_name = name; }
public string GetName() { return m_name; }
private string m_name;
}
}
Then compile the .cs file as follows:
csc /target:library testcomserver.cs
You should get a dll, which you register like this:
regasm testcomserver.dll /tlb:testcomserver.tlb
Now you need to create a client to test your .NET COM component. VBScript
will do - put the following in a file called comclient.vbs:
Dim dotNetObj
Set dotNetObj = CreateObject("AndyMc.CSharpCOMServer")
dotNetObj.SetName ("bob")
MsgBox "Name is " & dotNetObj.GetName()
and run the script like this:
wscript comclient.vbs
And hey presto you should get a message box displayed with the text "Name is
bob".
(Note that at the time of writing there seem to be some path issues with
accessing .NET classes as COM components - to avoid problems, run
comclient.vbs from the same directory as testcomserver.dll)
Regards,
Kasthuri.T
|
|
 |