【问题标题】:Can a .NET assembly in framework 4.5 refer to old GAC?框架 4.5 中的 .NET 程序集可以引用旧 GAC 吗?
【发布时间】:2015-01-09 21:38:51
【问题描述】:

我知道在安装了最新的 .NET 框架的系统上会有两个 GAC 可用。 即“C:\Windows\assembly”用于低于 3.5 的框架,“C:\Windows\Microsoft.NET\assembly\GAC_MSIL”用于 4.0 及更高版本。

现在,我有两个问题:

第一个问题是,我有一个在 frawework 4.5 中开发的 C#.NET 程序集,我必须添加对 Microsoft.Office.Interop.InfoPath.Xml.dll 的引用。 我在最新的 GAC 中没有找到这个参考,但它在旧的 GAC 中。那么我可以从旧 GAC 中添加吗?

第二个问题:如果我安装了最新版本的 Office,此参考资料也会迁移到另一个版本。因此,除非我在我的项目中重新引用这个 dll,否则我的程序集无法加载提到的 dll,因为它正在检查确切的版本号。是否有一个通用的解决方案,这样我就不需要更改引用并重建我的应用程序?

【问题讨论】:

  • 将dll复制到你的项目中并引用它。但是首先删除web配置中的当前引用。

标签: c#


【解决方案1】:

删除对 GAC 的引用并使用文件系统中的程序集。设置 CopyLocal = TRUE;

您可能需要多个程序集,一篇文章here - InfoPath Interop 描述了所需的程序集。

InfoPath 主要互操作程序集可在此处下载:http://msdn.microsoft.com/en-us/library/15s06t57.aspx

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    相关资源
    最近更新 更多