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

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

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

我目前在 .Net Framework 4.0 下运行并使用 Visual Studio 2010,但我将在不久的将来升级到 VS 2012 和 .Net 4.5。当我有 GUI 替代方案时,我不喜欢使用命令行程序,因为我是一个笨手笨脚的打字员,所以我想我应该为 gacutil 做的一些事情编写自己的基于 GUI 的实用程序。我知道网上有一些,但它们已经过时或维护不当,所以我宁愿自己写。

最佳答案

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

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

enumerating assemblies in GAC

关于c# - 在 C# 中以编程方式执行 gacutil 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19983659/

相关文章:

C# ADO.NET 异常 : ExecuteReader: Connection property has not been initialized

c# - 在缩略图上创建 'iPhone style icon' 效果?

ado.net - 当 TransactionScope 升级到 DTC 时,.net 4.0 中的场景发生了哪些变化?

c# - System.Lazy<T> 和 System.Threading.LazyThreadSafetyMode 枚举

c# - 我如何检查 SQL 数据库中是否存在某些内容?

c# - 如何从 ASP.NET 中的字符串中去除 HTML 标签?

c# - For循环遍历值

.net - 是否可以从另一个设置文件中获取 Resharper 设置文件 'inherit'?

.net - 为什么 .Net 词典会调整为质数?

c# - .NET 4 任务并行库可以使用 COM 对象吗?