Tag: regasm

在仅适用于.NET-4的系统上的GAC中使用面向.NET-2.0的COM DLL

再次问候, 按照我之前的问题,我正在尝试最大化我的C#编写的Windows资源管理器扩展的兼容性。 特别是,我有兴趣确保它在安装了.NET 4并且未安装.NET 3.5及更低版本的环境中工作。 人们会认为没有问题,但显然不是那么简单…… 有两个问题。 首先,非.NET-4目标程序集不会加载CLR 4,除非它们具有指定的.config文件。 如果没有这个.config文件,即使尝试在它们上使用ngen也会失败。 但我的DLL进入了GAC。 我如何在那里获得.config文件? 其他人也问过同样的事情,并得出结论“好吧,我只会改为创建一个静态的设置类。” 显然我做不到…… 第二个问题:当我用regasm.exe注册我的DLL,然后打开注册表查看它写的内容时,我在其CLSID条目下看到RuntimeVersion = v2.0.50727 。 这也可以防止加载DLL。 只有在我手动将RuntimeVersion值更改为RuntimeVersion后,DLL v4.0.30319加载。 那么我必须让我的安装程序在这里做什么? 对于第一个我不知道。 对于第二个,我想我必须让安装程序手动设置注册表的RuntimeVersion到任何.NET版本安装? 这看起来太古怪了……

来自C#Code的Regasm BHO

我有DLL与BHO IE插件。 我使用“ regasm.exe / codebase myBHO.dll ”来注册我的DLL。 是否有任何C#代码在Windows应用程序中重新规划我的DLL?

Regasm和Com Interop假阴性

我试图通过COM公开我们的库,但似乎比实际问题更多地对抗工具。 无论我如何编写COM暴露类,我都会收到警告:“XXX.dll不包含任何可以为COM互操作注册的类型”(在项目属性中将项目标记为注册为COM互操作)。 即使是下面的简单类(作为已签名并标记为ComVisible(false)的程序集中的唯一类)仍然警告仍然存在: [Guid(“77699130-7D58-4d29-BE18-385871B000D1”)] [ComVisible(true)] public interface IExample { string GetText(); void SetText(string text); } [Guid(“F91E5EE1-D220-43b5-90D1-A48E81C478B7”)] [ComVisible(true)] public class Example : IExample { private string m_text = “default text”; public string GetText() { return m_text; } public void SetText(string text) { m_text = text; } } 我试图从输出的命令行运行regasm,很高兴地说“类型注册成功”。 但是,使用/ verbose开关运行时不会显示额外的信息(我似乎记得它列出了名称或者只列出了已注册类型的数量)。 还尝试用/ regfile开关运行regasm来生成一个regfile,它生成这个: [HKEY_CLASSES_ROOT\ComExample.Example] @=”ComExample.Example” [HKEY_CLASSES_ROOT\ComExample.Example\CLSID] @=”{F91E5EE1-D220-43B5-90D1-A48E81C478B7}” […]

RegAsm dll没有注册类型

我试图使用RegAsm注册.dll。 它是一个.NET 2.0 DLL。 所有课程都是公开的,ComVisible是真实的。 我仍然得到RA0000:没有类型被注册错误。 下面是代码和assemblyinfo。 任何帮助都会很棒,谢谢! STARTelnet.cs /** *Steven T. Norris Created: 3/27/2012 *Last Updated By: Steven T. Norris Last Updated On: 3/27/2012 * */ using System; using MinimalisticTelnet; using System.Net.Sockets; /** * @brief Used to connect to, read, and respond to a STAR terminal session. * * Steven T. Norris Created: 3/27/2012 […]

RegAsm真正做了什么? 文件在哪里被复制?

我们有一个基于spicIE的IE插件,目的是连接到一些外部设备。 为了连接这些外部设备,另一家公司开发了他们的令牌和DLL。 我们需要有一些ActiveX和DLL来通过令牌进行身份validation。 问题是我们为IE开发的插件,最后一部分有一个install.bat文件,它运行一个RegAsm并注册DLL,然后在IE中查看该插件(或其更改)。 从IE运行插件时,我们的代码找不到一些身份validation所需的DLL(将其命名为x.dll)。 注册的DLL在哪里复制? 真的被复制了吗? 我需要在我的插件的DLL存在的文件夹中有x.dll。

RegAsm取消注册问题

下面,我创建的方法正在注册。 但我得到:“regasm:警告ra0000:没有未注册的类型”用于取消注册。 private static void ExecuteRegAsm(string comObjectPath, string typeLibraryName, string regAsmPathToExecute, string regAsmParameter = null) { var startInfo = new ProcessStartInfo { CreateNoWindow = false, UseShellExecute = false, FileName = regAsmPathToExecute, WindowStyle = ProcessWindowStyle.Hidden }; switch (regAsmParameter) { case null: startInfo.Arguments = comObjectPath + ” /tlb:” + typeLibraryName + ” /Codebase”; break; case “/u”: case […]

c#excel dll – 无法添加对指定文件的引用 – regasm

在另一台计算机上部署和注册.Net Excel.dll时,出现错误尝试在VBA编辑器中添加对DLL Can’t add a reference to the specified file引用。 我在Visual Studio中使用C#创建了Excel.dll ,在我的机器上使用Windows 7和Office 2010运行正常。 在我的计算机上的Excel VBA编辑器中添加对dll的引用没问题。 我的问题是在另一台运行Vista和Excel 2007机器上部署。 我将dll复制到此计算机并使用regasm注册dll。 谁能指出我正确的方向? 这是代码和regasm: C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ regasm.exe excelDll.dll using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace TestDll { [ClassInterface(ClassInterfaceType.AutoDual)] public class Test { public string […]

RegAsm无法使用Microsoft.Bcl.Async进行.NET 4.0程序集

使用Microsoft.Bcl.Async的.NET 4.0程序集的RegAsm失败,并显示以下消息: RegAsm:错误RA0000:无法加载文件或程序集 ‘System.Threading.Tasks,Version = 1.5.11.0,Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 找到的程序集的清单定义不匹配 assembly参考。 (HRESULTexception:0x80131040) 我的程序集( MyAssembly.dll )使用最新的Microsoft.Bcl.Async NuGet包,这是项目的packages.config : 它捆绑了System.Threading.Tasks.dll版本:2.6.6.0,它是该NuGet包的一部分。 目标系统上没有其他System.Threading.Tasks.dll (Win7 with .NET 4.0但没有.NET 4.5),GAC和其他任何地方都没有。 这是MyAssembly.dll.config ,它具有System.Threading.Tasks正确bindingRedirect元素: 我的问题: RegAsm不使用MyAssembly.dll.config吗? 如何使其工作以解决bindingRedirect指令?