简单的组件问题,大家看看。

huyz 2008-02-16 12:26:05
我用.net试着写一个组件,编译没问题,可用客户端调用时总是出现错误:
未处理的“System.NullReferenceException”类型的异常出现在 system.enterpriseservices.thunk.dll 中。
其他信息: 未将对象引用设置到对象的实例。

组件的代码:
using System;
using System.EnterpriseServices;

[assembly: ApplicationName("Hello World")]
[assembly: ApplicationActivation(ActivationOption.Library)]
namespace HelloWorld
{
public class MyComponent: ServicedComponent
{
public string WakeUp()
{
return "Hello World!";
}
}
}

客户端是Windows程序,已引用组件,代码很简单:
HelloWorld.MyComponent obj=new HelloWorld.MyComponent() ;
textBox1.Text =obj.WakeUp();

如果将组件继承ServicedComponent类去掉,作为普通组件使用,则没有问题。
各位帮忙解释一下,100分奉上。
...全文
116 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
哈哈鬼 2008-09-02
看来杀毒软件影响很大哦。
回复
huyz 2008-07-18
找到问题了,是卡巴斯基,卸载后一切正常!
回复
huyz 2008-02-20
加入了gac,情况一样
回复
whycom 2008-02-19
去msdn

如果是手动注册组件,必须装入gac
回复
bicaizi 2008-02-19
我现在是看见这些代码,头都大了
回复
whycom 2008-02-18
加入gac没?
回复
huyz 2008-02-18
com+组件应该不用加入gacutil吧?
回复
huyz 2008-02-17
我已使用强名称,在VS2003命令提示窗口用regsvcs *.dll
仍然提示“未将对象引用设置到对象的实例”
不能注册,实在是百思不得其解啊!
回复
wdzr_826 2008-02-17
up
回复
huyz 2008-02-16
HelloWorld.MyComponent obj=new HelloWorld.MyComponent() ;
错在这行
回复
-空军- 2008-02-16
出错在哪一行上?
回复
zhangjjhua 2008-02-16
代码 看似没有问题.

看看三楼的
回复
huyz 2008-02-16
up
回复
huyz 2008-02-16
1.加入公共的默认构造函数
public MyComponent()
{}
2、已使用强名称
3、是不是在VS2003命令提示窗口用
regsvcs *.dll
仍然提示“未将对象引用设置到对象的实例”
回复
看看com+要求,
1、那个类要求有公共的默认构造函数
2、那个类要求有强名称
3、正确注册
回复
发动态
发帖子
组件/控件开发
创建于2007-09-28

8833

社区成员

.NET技术 组件/控件开发
申请成为版主
社区公告
暂无公告