如果编写cs文件,生成dll

cnccbbn 2003-08-12 10:32:38
我有一个dll.cs文件
using System;

namespace dll
{
public class dll
{
public dll()
{
}
public string test()
{
return "aaa";
}
}
}
使用csc /target:library dll.cs生成了dll.dll文件
再regsvr32 dll.dll时报错:已加载dll.dll,但没有找到DllRegisterServer输入点。无法注册这个文件

请问高手应如何修改程序,使regsvr32可以注册dll.dll文件?

...全文
160 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnccbbn 2003-08-12
  • 打赏
  • 举报
回复
问题解决。
需要首先Tlbexp dll.dll /out:dll.tlb 生成tlb
之后Regasm dll.dll /tlb:test.dll
C:\>regasm dll.dll /tlb:dll.tlb
Microsoft (R) .NET Framework 程序集注册实用工具1.1.4322.573
版权所有 (C) Microsoft Corporation 1998-2002。保留所有权利。

成功注册了类型
程序集已被导出到“C:\web\c# applicaiton\dll\bin\Debug\dll.tlb”,类型库注册成功
cnccbbn 2003-08-12
  • 打赏
  • 举报
回复
c:\>gacutil /i dll.dll

Microsoft (R) .NET Global Assembly Cache Utility. Version 1.1.4322.573
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

Failure adding assembly to the cache: Attempt to install an assembly without a strong name
cnccbbn 2003-08-12
  • 打赏
  • 举报
回复
to:fq_ln
我使用regasm dll.dll可以注册成功
但在系统组件表中看不到dll.dll
fq_ln 2003-08-12
  • 打赏
  • 举报
回复
如果你想在.net中使用这个dll,那么是不需要注册的,只需要引用就可以啦
当然,你也可以在其他语言中使用这个dll(程序集),按照以下的示例就没有问题啦!!

安装和注册程序集
为了从非托管代码真正创建托管类型,需要在全局程序集缓存 (GAC) 中安装该程序集,并将其注册以便从 COM 使用。
可使用 gacutil.exe 实用工具在全局程序集缓存中安装程序集。可使用 /u 选项来卸载程序集。

gacutil /i TestServer.dll

如果程序集要由单个应用程序专用,则可将其直接复制到该应用程序目录中(而不是将该程序集安装在 GAC 中)。专用程序集不需要共享名称,但是必须将其注册以便从 COM 使用。
可使用 regasm.exe 实用工具来注册程序集。可使用 /u 选项来卸载程序集。

regasm TestServer.dll


编写和编译非托管代码
程序集一旦完成注册并正确安装后,就可从 COM 使用程序集中定义的类型,就像使用正常的 COM 类型一样。例如,可通过调用 CoCreateInstance API,或者通过从 Visual Basic 或脚本语言调用 CreateObject 或 GetObject 来创建新对象。请参阅本节余下的示例以获得具体的编码细节。
_weiKun_ 2003-08-12
  • 打赏
  • 举报
回复
dll不需要注册,直接应用
cnccbbn 2003-08-12
  • 打赏
  • 举报
回复
我想把这个dll.dll文件放到asp的网页中使用,而不是aspx里 :(
cnccbbn 2003-08-12
  • 打赏
  • 举报
回复
PS:我使用regasm dll.dll可以注册成功
但在系统组件表中看不到dll.dll
chenxy2002 2003-08-12
  • 打赏
  • 举报
回复
直接引用就行了
cfan37 2003-08-12
  • 打赏
  • 举报
回复
.NET的Dll是托管模块,其是有自描述功能的,不需要通过注册表来注册
hillwell 2003-08-12
  • 打赏
  • 举报
回复
.net组件不需要用regsev32组测,直接拷贝到bin文件夹中
如果要做成全局的,请用gacutil.exe

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧