首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在没有Assembly Manifest的情况下在GAC中注册DLL

在没有Assembly Manifest的情况下在GAC中注册DLL,可以使用Windows SDK中的gacutil工具。

gacutil是一个命令行工具,可以用来安装和卸载.NET程序集到全局程序集缓存(GAC)中。

使用gacutil的步骤如下:

  1. 首先,确保已经安装了Windows SDK。如果没有安装,可以从Microsoft官方网站下载并安装。
  2. 打开命令提示符,输入以下命令,将DLL文件安装到GAC中:
代码语言:txt
复制
gacutil -i <DLL文件路径>

其中,<DLL文件路径>是DLL文件的完整路径。

  1. 如果需要卸载DLL文件,可以使用以下命令:
代码语言:txt
复制
gacutil -u <DLL文件名>

其中,<DLL文件名>是DLL文件的名称,不包括路径。

需要注意的是,在使用gacutil工具时,必须以管理员身份运行命令提示符。

总之,在没有Assembly Manifest的情况下在GAC中注册DLL,可以使用gacutil工具来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WCF集成COM+应用程序遇到问题

反复试了好多次,卸载了重新安装都只是组件管理器成功注册,但都不能用SvcConfigEditro.exe工具把新添加COM+应用程序集成。...如:输入gacutil.exe /i COMPlusTest.dll (/i表示安装) 卸载的话同理:Gacutil.exe /u COMPlusTest OK,只有GAC注册了,那么通过svcConfigEditor.exe...另外补充: 一般来说,将程序集(dll)安装到GAC中有以下两种方法: 1.手动将要安装部署dll文件拖至:\Windows\Assembly文件夹下 2.使用gacutil.exe...其实一个Assembly不只包含代码,还包含其他一些东西,如MANIFEST.里面就有有关引用信息。CLR找到引用DLL名称后是怎么去寻找呢?...它一般情况下遵循下面的原则: 1.如果程序集有强名称,首先在全局程序集缓(GAC)查找程序集----->GAC(应该是先找平台相关,例如:GAC_32,GAC_64,然后找去找GAC_MSIL)。

64710

WiX安装选项--注册程序集到GAC和VS设计时环境

Visual Studio设计时引用组件窗口中看到程序集位置和程序集运行时位置是不一样,特别是全局程序集缓存(GAC)程序集,通过WiX制作Winodws安装程序时候需要处理这个区别...VS设计时添加引用窗口看到程序集位置来自注册表SOFTWARE\Microsoft\.NETFramework\AssemblyFolders – 放在HKEY_LOCAL_MACHINE 下面就是针对所有的用户...WiX要把一个程序注册GAC,只需要在File 上增加一个选项 Assembly=".net" 就可以了,但是注册GACdll不会放到安装目录下方了,这就需要通过提供两个Component方式来处理...-- Runtime, assembly in GAC --> <File Id="F_RT_GACTEST" LongName="GACTest.<em>dll</em>" Source=...注册了两个Component--RTGACTest和DTGACTest,RTGACTest下File增加了属性Assembly=".net",DTGACTest则没有增加,同时DTGATest增加了一个注册表项目

65060

关于强命名程序集

比如进入 GCFWK 子目录,我们会发现其中又有很多子目录。机器内每一个安装到 GAC GCFWK.dll GCFWK 中都会有一个子目录。...因为这些工具知道 GAC 内部结构 J 开发和测试,最常用工具就是 GACUtil.exe 。... GAC注册程序集跟 COM 注册差不多,但相对更容易:    1 .把程序集添加到 GAC :  GACUtil /i sample.dll  (参数 /i 是安装意思...)    2 .把程序集移出 GAC GACUtil /u sample.dll  (参数 /u 就移除意思) 注意:不能将一个弱命名程序集安装到 GAC 。...但这样又有可能会引发 ”DLL Hell” 问题,因为没有哪个程序可以控制这个程序集何时被卸载。这在 .NET 也是不被鼓励

63110

解决T4模板程序集引用五种方案

所以,对于上面的T4模板,会出现如下编译错误。 ? 二、将引用程序集安装到GAC 其实我们有很多方式来解决这个问题,你首先想到肯定是将引用程序集安装到GAC。...没错,这是一种解决方案,如果被引用程序集具有强签名的话。有一点需要注意是,T4模板引用某个安装于GAC程序集时候,指令下不能指定文件扩展名(.dll)。...{} 四、指定程序集具体路径 如果被引用程序集被没有被签名,GAC方式则不能使用,在这种情况下你需要指定程序集文件所在位置,最直接的当然就是指定程序集文件绝对路径。...在下面的T4模板,指令中指定就是Artech.T4AssemblyRefResovle.Foo.dll文件绝对路径。...五、采用环境变量 采用程序集文件绝对路径这种硬编码并不是一种推荐解决方案,因为团队开发,每个开发人员用于存放同一个程序集地址可能不同,在这种情况下你可以采用环境变量方式。

81570

.NET面试题系列 - .NET框架基础知识(2)

如果你VS中选择新建一个Class Library,则编译后生成结果文件是dll文件,没有可执行程序,你也不能在VS中试图运行一个Class Library。...不同程序集中相同命名空间中相同成员(例如类型)被认为是不同。例如My.dll和Your.dll同时一个命名空间A定义了一个类B,则它们是不同。...当你安装了CLR,你就有了一个Global Assembly Cache(全局程序集缓存,GAC)。安装CLR时,系统将把它认为重要若干程序集放入GAC,例如mscorlib.dll。... .NET Framework 早期版本,默认位置为 %windir%\assembly。 有时候当安装某些应用程序时,也会触发安装程序将程序集放入GAC。...GAC是一个机器级别的程序集,其中包括mscorlib.dll等至关重要程序集。Add Reference,它不会被自动包括进来,必须手动浏览才可以找到部署到GAC程序集。

1.2K20

Assembly.Load()方法,Assembly.LoadFrom()方法,Assembly.LoadFile()方法区别!

1,Assembly.Load()          这个方法通过程序集长名称(包括程序集名,版本信息,语言文化,公钥标记)来加载程序集,会加载此程序集引用其他程序集,一般情况下都应该优先使用...: ⑴如果程序集有强名称,首先在全局程序集缓(GAC)查找程序集。         ...⑵如果程序集强名称没有正确指定或GAC找不到,那么通过配置文件元素指定URL来查找 ⑶如果没有指定强名称或是GAC找不到,CLR会探测特定文件夹:      假设你应用程序目录是...C:\AppDir,元素privatePath指定了一个路径Path1,你要定位程序集是AssemblyName.dll则CLR将按照如下顺序定位程序集           C...这就是第1点提到Load方法比LoadFrom方法执行效率高原因。另外,由于可能把程序集作为“数据文件”来加载,所以使用 LoadFrom从不同路径加载相同程序集时候会导致重复加载。

2.4K10

C#反射解析及使用.

()方法,Assembly.LoadFile()方法区别 C#,我们要使用反射,首先要搞清楚以下命名空间中几个类关系:     System.Reflection命名空间     (1)   AppDomain...(GAC查找程序集。    ...⑵如果程序集强名称没有正确指定或GAC找不到,那么通过配置文件元素指定URL来查找     ⑶如果没有指定强名称或是GAC找不到,CLR会探测特定文件夹:     假设你应用程序目录是...这就是第1点提到Load方法比LoadFrom方法执行效率高原因。另外,由于可能把程序集作为"数据文件"来加载,所以使用 LoadFrom从不同路径加载相同程序集时候会导致重复加载。...2、用Assembly.LoadFrom载入一个Assembly时,会先检查前面是否已经载入过相同名字Assembly,比如abc.dll有两个版本(版本1目录1下,版本2放在目录2下),程序一开始时载入了版本

2K140

Microsoft ReportViewer 控件类型版本兼容问题及解决方法

但在错误提示,显示是类型不兼容,而它们类型确实一样,这就是困扰所在。 解决方法是,工具箱添加.Net 4.011.0版本ReportViewer,并使用该控件来显示报表。...原因在于,ReportViewer版本属性,不是某个控件上指定,而是在所在页面中指定。因此,不能在一个页面存在两个不同版本ReportViewer。...注册代码如下: <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken...\GAC_MSIL\Microsoft.ReportViewer.WebForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WebForms.DLL...' and 'c:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll

2.6K70

【转】 COM 免注册技术

由于 COM 注册信息要写入注册表,一方面给 win7 以后没有管理员身份应用带来了麻烦,另一个人一直存在问题就是所谓DLL Hell,造成同一控件不同版本之间干扰。...现在用 Regsvr32 /u mycomm.dll 注销掉这个 COM,应该看到这个: ? (图四) OK,一切都与未使用免注册技术情况相符。...项目所在文件夹,新建一个文本文件,用前面提到 ResHacker 打开 exe,找到 24号资源,将其中内容复制粘贴到新建文本文件,最后重命名为 test.exe.manifest ,然后用...如果是第三方控件,大部分情况下你没有这个 vbr 文件,所以我提供给你了上面的 RegFree 工具包来从 dll/ocx 中提取这些信息,用法很简单: 用 mt 来提取:mt.exe -tlb:TBL...与上面的示例包 mycom.dll 对应清单文件 test.exe.manifest 如下: <?

3.1K20

完全控制GAC文件目录

起因:客户程序使用了Microsoft.ReportViewer,程序需要把这个安装到客户端,需要在目录下放置以下三个dll:   Microsoft.ReportViewer.Common   Microsoft.ReportViewer.WinForms...  Microsoft.ReportViewer.ProcessingObjectModel 过程:电脑中寻找上面三个dll。...前两个目录“C:\Program Files\Microsoft Visual Studio 9.0\ReportViewer”下找到,但是第三个却没有。       ...查看GAC文件夹:“C:\Windows\Assembly”,发现已经安装所需要dll。        所以只有从GAC把这个dll拷贝出来。...subst T: C:\WINDOWS\Assembly\         (这里WINDOWS一定要大写才行)        这样,电脑根目录下,就有一了T盘。

68080

MICROSOFT REPORT VIEWER 2012之无法加载相关dll

之前使用Report Viewer,只要看到类似“Could not load file or assembly xxx”之类只要去微软下载中心下载相应MICROSOFT REPORT VIEWER...本着程序员何必难为程序员原则,折腾出解决方案如下: 事实上,只需要找到相关dll就行,那么你需要找到以下dll: Microsoft.ReportViewer.WebForms.dll(VS安装目录下...Studio 11.0\ReportViewer) Microsoft.ReportViewer.Common.dllGAC,注意版本号为11.0.0.0) Microsoft.ReportViewer.ProcessingObjectModel.DLL...(GAC,注意版本号为11.0.0.0) Microsoft.SqlServer.Types.dllGAC,注意版本号为11.0.0.0) 如果你不知道如何从GAC中导出DLL文件,那么可以看看这篇文章...: 导出你GAC AssemblyDLLS 获取到上述文件后,将其放到网站bin目录即可,报表就可以正常使用了,这样的话,即使迁移或者发布到其他服务器,也不需要安装任何文件了。

86250

怎样反射程序集?

1、程序集是.net概念。 2、.netdll与exe文件都是程序集。(exe与dll区别?)...4、程序集包含:类型元数据(描述代码定义每一类型和成员,二进制形式)、程序集元数据(程序集清单、版本号、名称等)、IL代码(这些都被装在exe或dll)、资源文件。...1)、添加路径、项目引用、GAC(全局程序集缓存) 不能循环添加引用 c#添加其他语言编写dll文件引用。...(参考P/Invoke,.net调用非程序集dll)extern dll→ abbr....\assembly 数字签名(防止引用程序集被篡改) 我们调用类都是位于各个程序集中,如果调用没有引用程序集中,则需要添加对那个程序集引用,比如ConfigurationManager。

50220

《CLR via C#》Part1之Chapter3 共享程序集和强命名程序集(二)

CLR支持两种程序集:弱命名程序集(weakly named assembly)和强命名程序集(strongly named assembly). ?...由于弱类型程序集总是私有部署,所以当CLR应用程序基目录或者子目录搜索程序集文件时,只会使用程序集名称(添加一个.dll或者.exe)。...全局程序集缓存 如果一个 程序集要由多个应用程序访问,必须把它放在一个已知目录,而且CLR检测到对该程序集一个引用时,必须知道自动检查该目录,这个已知位置称为全局程序集缓存(Global...Assembly Cathe,GAC),对于.NetFramework 3.5和以前版本,GAC通常放在以下目录,C:Windows\Assembly,而对于.Net4.0,GAC位于C:Windows...\Microsoft.NET\Assembly.

47620
领券