我正在尝试将旧的 VB6 文件转换为 VB.net(我以前从未使用过)...我在这一行遇到错误:
Dim JMail As Object
JMail = Server.CreateOBject("JMail.Message")
说“未声明服务器”
我有:
导入 System.Web
在顶部 - 我认为这让我可以访问 Server.CreateObject ???
我正在尝试将旧的 VB6 文件转换为 VB.net(我以前从未使用过)...我在这一行遇到错误:
Dim JMail As Object
JMail = Server.CreateOBject("JMail.Message")
说“未声明服务器”
我有:
导入 System.Web
在顶部 - 我认为这让我可以访问 Server.CreateObject ???
由于一切都是强类型的,因此在 .NET 中并没有真正的直接等价物Server.CreateObject
,尽管您可以使用(Ick)来使用System.Type.GetTypeFromProgID
和调用各种方法。InvokeMember
就像是:
Type proxyType = System.Type.GetTypeFromProgID("JMail.Message");
object proxy = Activator.CreateInstance(proxyType);
object result = proxyType.InvokeMember("MemberName",
// System.Reflection.BindingFlags
null,
proxy,
// An object array with your parameters for this call
);
最好的解决方案可能是围绕您的库创建一个 COM 包装器,并在您的解决方案中引用它。
如果您可以提供有关您的代码的具体功能的更多详细信息,也许有人可以建议一种在 .NET 中实现该功能的本地方法。例如,如果您只是想发送电子邮件或其他东西,那么在 .NET 中有上百万种方法可以做到这一点。
更新:只需获取JMail.NET,不再需要处理旧的 ActiveX 库。