如何将dll部署到系统的GAC并在程序启动时检查它们是否存在?

Mat*_*att 6 entity-framework gac

实体框架引用了一些DLL.在一个系统上,它们出现在GAC中非常方便.我无法弄清楚我是怎么做到的.安装程序似乎没有这样做 -

我在这里谈到的dll是:

  • 核心库程序集Microsoft.Practices.EnterpriseLibrary.Common.dll
  • Unity应用程序块程序集Microsoft.Practices.Unity.dll
  • 对象生成器程序集Microsoft.Practices.ObjectBuilder2.dll

但我想它适用于任何可能想要添加到GAC的DLL.还有一种方法来检查程序启动是否组件甚至在GAC中?

ono*_*nof 3

检查是否在 GAC 中:

bool inGac = System.Reflection.Assembly.Load(assemblyName).GlobalAssemblyGac;
Run Code Online (Sandbox Code Playgroud)

要在 gac 中安装,有一个问题 Methods toprogrammatically install a .NET assembly into the GAC