我正在创建一个C#项目,它将由使用COM互操作的VB6应用程序使用.但是我不能让VB6应用程序使用这个DLL.在我的研究中,我发现需要生成一个.tlb文件才能工作,但我不知道如何生成它.
我有一个界面:
[Guid("7A5DA013-C6AA-4327-96C8-096D3F217778"), ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IConnectionAPI
{
[DispId(1)]
ADODB.Recordset Get(string URL, string parametros);
[DispId(2)]
ADODB.Recordset Post(string URL, string parametros);
}
我让类实现这个接口:
[ProgId("Interop.ConnectionAPI"), Guid("51CA97D0-2630-46C8-A899-33CD12379FBE"), ComVisible(true)]
public class ConnectionAPI : IConnectionAPI
{
public Recordset Get(string URL, string parametros)
{
return null;
}
public Recordset Post(string URL, string parameters)
{
Recordset returnVB6 = null;
using (HTTP.HTTP_helper httpPost = new HTTP.HTTP_helper())
{
string response = httpPost.HttpPost(URL, parameters);
DataTable dtData = JsonConvert.DeserializeObject<DataTable>(response);
returnVB6 = VB6_helper.ConvertDataTableToRecordset(dtData);
}
return returnVB6;
}
}