【问题标题】:Installing assemblies for CLR 2.0 and CLR 4.0 programmatically以编程方式为 CLR 2.0 和 CLR 4.0 安装程序集
【发布时间】:2014-03-24 21:26:36
【问题描述】:
我有一个应用程序,我们将其命名为 Installer,它使用 Publish.GacInstall 方法在 GAC 中安装我的程序集。
当 Insteller 在 .Net 4.0 下运行并在 GAC 中为 .Net 4.0 安装程序集时,我遇到了问题。当我将 .Net 框架 2.0 用于项目时,我在 GAC 中看不到我的程序集。
是否可以在两个 GAC 中安装我的程序集?
【问题讨论】:
标签:
c#
.net
deployment
.net-assembly
gac
【解决方案1】:
不,它不依赖于您的安装程序,而是依赖于它安装的程序集。 CLR v4 (.Net 4.0 - 4.5.1) 程序集进入 v4 GAC,CLR v2 (.Net 2.0 - 3.5) 程序集进入 v2 GAC。如果您想要两个程序集,那么每个 CLR 版本都必须有两个程序集。
由于 CLR v4 可以运行 CLR v2 应用程序,因此您也可以只使用 CLR v4 程序集。您需要在应用程序中更改/添加配置文件。见here。
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>