如果我在 win 7 64 位上用 C# 创建一个 dll 然后想在 WinXP 32 位上使用,会有一些不一致吗?
There is some inconsistency if I create a dll in C# on win 7 64bit and then want to use on WinXP 32bit?
我试图在 Win7 64 位上用 C# 开发一个 DLL,然后使用 VB6 WinXP 32 位,但是当在 VB6 中添加库时,我得到错误 429,"ActiveX component cant create object"。所以想问问有没有可能和WinXP 32bit不兼容?
我正在按照以下 post 的步骤创建 DLL:http://www.codeproject.com/Articles/3511/Exposing-NET-Components-to-COM
有人可以帮我吗?
编辑:
我试着做下一站解决我的问题,但没有人能解决:
- 在我的 winXP 上安装所有版本的 .NET 框架。
- 尝试使用 regasm 注册我的 dll 并添加/代码库。
- 尝试删除 ie8 并返回 ie7。
- 将 dll 编译为 x86 而不是任何 cpu。
谢谢你,对不起我的英语! :-)
终于可以解决我的问题了。我必须遵循的步骤是:
在 WinXP-32 位的 NET Tools 命令行中:
- 编译 NET 模块。
csc /target:module test.cs
- 生成密钥。
sn -k myDLL.snk
- 将钥匙附在模块上。
al /out:myDLL.dll myDLL.netmodule /keyfile:myDLL.snk
- 将我的 DLL 添加到 GAC 中。
gacutil /i myDLL.dll
- 注册我的 DLL。
regasm /codebase /tlb:myDLL.tlb myDLL.dll
在 VB6 中:
- 创建一个新的标准 exe。
- 在项目中添加引用 -> 引用 -> 搜索 -> myDLL.dll
使用下一个代码:
Dim tst As myDLL.test
Set tst = New myDLL.test
tst.sayHello
这就是我所有的朋友!我花了很长时间但在这里我与你分享!谢谢!
我试图在 Win7 64 位上用 C# 开发一个 DLL,然后使用 VB6 WinXP 32 位,但是当在 VB6 中添加库时,我得到错误 429,"ActiveX component cant create object"。所以想问问有没有可能和WinXP 32bit不兼容?
我正在按照以下 post 的步骤创建 DLL:http://www.codeproject.com/Articles/3511/Exposing-NET-Components-to-COM
有人可以帮我吗?
编辑:
我试着做下一站解决我的问题,但没有人能解决:
- 在我的 winXP 上安装所有版本的 .NET 框架。
- 尝试使用 regasm 注册我的 dll 并添加/代码库。
- 尝试删除 ie8 并返回 ie7。
- 将 dll 编译为 x86 而不是任何 cpu。
谢谢你,对不起我的英语! :-)
终于可以解决我的问题了。我必须遵循的步骤是:
在 WinXP-32 位的 NET Tools 命令行中:
- 编译 NET 模块。
csc /target:module test.cs
- 生成密钥。
sn -k myDLL.snk
- 将钥匙附在模块上。
al /out:myDLL.dll myDLL.netmodule /keyfile:myDLL.snk
- 将我的 DLL 添加到 GAC 中。
gacutil /i myDLL.dll
- 注册我的 DLL。
regasm /codebase /tlb:myDLL.tlb myDLL.dll
- 编译 NET 模块。
在 VB6 中:
- 创建一个新的标准 exe。
- 在项目中添加引用 -> 引用 -> 搜索 -> myDLL.dll
使用下一个代码:
Dim tst As myDLL.test Set tst = New myDLL.test tst.sayHello
这就是我所有的朋友!我花了很长时间但在这里我与你分享!谢谢!