小编D. *_*ott的帖子

VB6 COM +调用.Net COM DLL

20岁生日快乐VB6! 是的,即使支持已经用了13年,VB6仍然存在。请随时骚扰我,但也请提供您对这个问题的任何见解。

我在Citrix服务器场上有一个VB6 EXE。数据是通过COM +从托管VB6 COM + DLL的另一台服务器获取的。COM +软件包已导出并安装在每台Citrix计算机上。

EXE和COM + DLL都写入一个旧的记录器。我试图摆脱旧的记录器,转而使用Log4Net版本。

我编写了一个.NET COM DLL,其唯一目的是写入日志。

EXE使用.NET DLL进行日志记录(只要我将log.config与EXE放在同一文件夹中),但COM +组件不会。我尝试将log.config复制到各个文件夹中,希望这可能是问题所在。我还写了另一个EXE来测试.NET DLL,它可以工作。

只是为了踢球,我尝试在COM + DLL上使用后期绑定,但这也无济于事。我在Citrix计算机和COM服务器上注册了.Net COM DLL。

我还尝试从vb6写入事件日志-均失败。

我确定我的COM + DLL正在实现,因为没有日志被写入旧的记录器。另外,从本地计算机运行时,我从EXE和COM + DLL获取日志。

这是一些代码...

这是我的VB.NET COM记录代码

Imports System.IO
Imports log4net

<Assembly: Config.XmlConfigurator(ConfigFile:="Log.config", Watch:=True)>

<ComClass(log.ClassId, log.InterfaceId, log.EventsId)>
Public Class log

    Public logger As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

#Region "COM GUIDs"
    Public Const ClassId As String = "6fae24c7-f86b-4fab-8b49-1d441de5bd18"
    Public Const InterfaceId As String = "223a30c4-ec1e-45a6-82d3-d23cd4c933f9"
    Public Const EventsId As String = "2087d93e-dd38-4cd1-b757-44dee322a8e3"
    Public Property TraceExtension As …
Run Code Online (Sandbox Code Playgroud)

.net vb.net vb6 com+ com-interop

5
推荐指数
1
解决办法
264
查看次数

AS400 DDL SQL语法,用于添加具有短字段和长字段名称的新列

AS400 SQL DDL将列添加到现有表的语法是什么?我还需要指定长字段和短字段名称.

(SQL - 结构化查询语言)(DDL - 数据定义语言:这是更改表结构或可以修改数据库设置的SQL)

sql db2 alter ibm-midrange

1
推荐指数
1
解决办法
1884
查看次数

标签 统计

.net ×1

alter ×1

com+ ×1

com-interop ×1

db2 ×1

ibm-midrange ×1

sql ×1

vb.net ×1

vb6 ×1