以编程方式将程序集安装到GAC中
我需要使用c#在GAC中安装程序集。 以下是我的代码:
new System.EnterpriseServices.Internal.Publish().GacInstall("MyAssembly.dll");
上面的代码给出了错误:
需要绝对路径
但我需要这个运行而不使用静态文件路径(绝对路径)。 谁能告诉我它是否可能? 我在项目引用中添加了对程序集的引用。 我需要在GAC中安装此程序集。
你可以这样做:
GacInstall((new System.IO.FileInfo("MyAssembly.dll")).FullName);
要么,
GacInstall(System.IO.Path.GetFullPath("MyAssembly.dll"));
假设该文件位于您当前的工作目录中。 如果不是,那么您需要定义用于查找此DLL的规则(例如,它是否与您当前的可执行文件位于同一路径中?)
试试下面的这篇文章,请告诉我这是否有效
Assembly assembly = Assembly.GetAssembly(typeof(Program));//Replace your Type here. string filePath = assembly.Location;
然后使用此文件路径。
如果你知道关于你的执行的DLL
相对路径,请make
string executableDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string assemblyFullPath = Path.Combine(executableDirectory, relativePathToAssembly);
应该适合你。
错误本身表明,您需要提供dll驻留的完整位置路径。 即路径中的C: myprojects myassembly.dll
在c#中将“.dll”文件添加到全局程序集缓存中的简单步骤:
上述就是C#学习教程:以编程方式将程序集安装到GAC中分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
- 在您的项目中,将“添加引用”添加到要在GAC中安装的.dll文件中
- 形成引用,右键单击特定的.dll文件,然后选择“属性”
- 将属性“Copy Local”更改为“True”
- 使用wspBuilder构建和部署
- 要进行validation,只需检查清单文件中是否存在路径,以及“C: Windows assembly”。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1033544.html