在C#中以编程方式执行gacutil操作?

时间:2013-11-14 16:56:07

标签: c# .net .net-4.0 .net-4.5

如何在C#中以编程方式执行gacutil所执行的操作,例如安装程序集或列出GAC的内容?或者换句话说,gacutil是否可以在我可以从C#访问的公共API之上分层?

我目前正在使用.Net Framework 4.0并使用Visual Studio 2010,但我将在不久的将来升级到VS 2012和.Net 4.5。当我有一个GUI替代品时,我不喜欢使用命令行程序,因为我是一个摸不着头脑的打字员所以我想我会为gacutil所做的一些事情编写自己的基于GUI的实用程序。我知道网上有一些但是它们很旧或只是经常维护,所以我宁愿自己编写。

1 个答案:

答案 0 :(得分:3)

您可以使用Publish类轻松地将dll添加到GAC。添加对System.EnterpriseServices

的引用
System.EnterpriseServices.Internal.Publish publish = new System.EnterpriseServices.Internal.Publish();
publish.GacInstall("dll path");

enumerating assemblies in GAC