以编程方式将程序集安装到GAC中

sha*_*ila 6 .net c# gac exception-handling

我需要使用c#在GAC中安装程序集.以下是我的代码:

new System.EnterpriseServices.Internal.Publish().GacInstall("MyAssembly.dll");
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了错误:

需要绝对路径

但我需要这个运行而不使用静态文件路径(绝对路径).谁能告诉我它是否可能?我在项目引用中添加了对程序集的引用.我需要在GAC中安装此程序集.

Dam*_*ver 11

你可以这样做:

GacInstall((new System.IO.FileInfo("MyAssembly.dll")).FullName);
Run Code Online (Sandbox Code Playgroud)

要么,

GacInstall(System.IO.Path.GetFullPath("MyAssembly.dll"));
Run Code Online (Sandbox Code Playgroud)

假设该文件位于当前工作目录中.如果不是,那么您需要定义用于查找此DLL的规则(例如,它与您当前的可执行文件位于同一路径中吗?)