问题标签 [regasm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6354 浏览

c# - 为什么 regasm.exe 使用错误的 GUID 注册我的 c# 程序集?

我有 ac# 程序集,我通过 COM 从 Delphi(win32 本机)应用程序中调用它。

这适用于我测试过的所有机器,除了一台。

问题是 Delphi 应用程序在尝试创建 COM 对象时得到“类未注册”。

现在,当我查看注册表时HKEY_CLASSES_ROOT\DelphiToCSharp\CLSID,那里列出的 GUID 与 AssemblyInfo.cs 中的程序集 Guid 不同。它应该是相同的 - 在安装它的所有其他计算机上都是相同的。

我试过regasm /unregister delphitocsharp.dll了,这会删除注册表项。然后,如果我这样做regasm delphitocsharp.dll,注册表项会返回,但 GUID 与以前相同(即错误),并且 Delphi 仍然得到“类未注册”。

工作机器上的 DelphiToCSharp.dll 与非工作机器上的版本相同(使用 md5 验证)。

我能想到的只是之前注册了旧版本的 dll,并且仍然存在该文件的一些残留物,这让 regasm 感到困惑。

我该如何解决或至少进一步诊断此问题?

0 投票
0 回答
623 浏览

msbuild - 使用 nant 脚本运行 msbuild 来注册程序集有什么问题?

我正在从 NAnt 脚本运行 MSBuild。当它尝试为 注册我的一个程序集时com interop,脚本会像卡住一样停止。

如果我regasm.exe在程序集上运行,它会成功。即使我使用完全相同的参数从命令行运行 MSBuild 本身,它也会成功构建。

使用 NAnt 脚本运行 MSBuild 来注册程序集有什么问题?会不会是权限?

0 投票
1 回答
169 浏览

c# - 当我的电脑上有几个时,如何确定我的产品的哪些 .net 程序集已注册?

我有我在我的机器上工作的软件产品的各种版本的代码。该产品包括一个或多个为 com interop 注册的程序集。如何确定当前注册的是哪一个?

0 投票
3 回答
3150 浏览

.net - 当我的 .net 程序集不再位于同一位置时,如何取消注册它?

我有一个为 com interop 注册的 dll,因此在 HKLM\Software\Classes\CLSID[my guid]\InprocServer32[my version no]\Codebase 下它具有注册 dll 的路径。但是,我重新排列了我的文件夹结构,使路径不再正确。有没有办法注销该dll而不将其放回原处,然后注销,然后再次删除文件?

如果我不再有那个 dll,或者只有一个版本号不同的 dll,该怎么办?

0 投票
1 回答
881 浏览

.net - 从 vb6 调用 .net 程序集会导致运行时错误 424

我在从 vb6 调用 .net 程序集时遇到了一些麻烦,希望 SO 能提供帮助。

在 VB.net 中,我构建了一个 ComClass 并保留了默认构造函数和 GUID。部署时,我 REGASM.exe dll,它与 VB6 exe 位于同一文件夹中。.net dll 引用了另外两个 .net dll,它们都在同一个文件夹中。

我正在尝试使用 VB6 函数 CreateObject() 加载 .net 程序集。运行 VB6 exe 时,出现以下错误

这发生在 Windows 2000 服务器上。我能够在 XP 盒子上创建对象,但是我不确定这两个盒子的状态到底有多么不同。

如果有人有任何想法,将不胜感激。谢谢

0 投票
4 回答
2647 浏览

c# - C#:Regasm 为我的 COM DLL 中的每个类生成注册表项?

我正在用 C# 编写一个类库 (IE BHO),目前正在处理我认为来自 REGASM 生成的注册表项的大量垃圾输出。

简短的版本是这样的:我只想向 IE(以及 COM 的其余部分)公开少数类(目前:一个类)。只有一个类设置了 ClassInterfaceAttribute 和 GUID,我可以测试该插件只需要该类的 COM 注册表项——然而,REGASM 为整个项目中的每个类生成 GUID 和注册表项。

这很烦人而且有点令人不安,因为我不希望我的类名出现在用户的注册表中,除非他们绝对必须在那里。

公平地说,许多其他类被标记为公共,因为我在同一解决方案中另一个项目的驱动程序应用程序中使用它们,以解决 IE 的调试黑洞......

总的来说,我对 COM 仍然很陌生(尤其是与 .Net 相关),我想知道隐藏我所有其他类以防止 regasm 的最佳方法是什么?或者,至少,当我没有为它们设置任何 COM 标志时,为什么这些类——即使它们被标记为公共——会出现?

谢谢!

0 投票
1 回答
40024 浏览

c# - RegAsm.exe 和 regsvr32 有什么区别?如何使用 regsvr32 生成 tlb 文件?

谁能告诉我 regsvr32 和 RegAsm 有什么区别?我的 Dll 在 C# 中,那么如何将类导入 C++?

0 投票
1 回答
2341 浏览

c# - C# dll 的 DllRegisterServer?

C# dll 的 DllRegisterServer 是否有等价物?我正在创建一个 COM 组件,我希望在重新加载 dll 时运行一些自定义代码。

0 投票
2 回答
971 浏览

c# - 远程运行 Regasm?

我有一个需要推出并注册到远程计算机的 C# COM 组件。有谁知道这是否可以通过 Regasm 实现?

0 投票
1 回答
662 浏览

c# - 在 Delphi 中使用 .NET 程序集

我目前需要在 delphi 中打开和使用 .NET 程序集。我尝试使用的程序集也有它正在使用的对象程序集。通过对象程序集,我能够使用 regasm 创建类型库。我还能够分配一个 SN 并将其注册到 GAC。

现在有了我想在 Delphi 中使用的主程序集,我尝试使用 regasm 并最终得到一个错误“Regasm:错误 RA0000:无法找到输入程序集 [位置] 或其依赖项之一。” 我查看了位置和文件名,没有任何问题。我在某处错过了一步吗?