我正在使用 VS2008 构建安装包。这是安装 Outlook 的 COM 加载项应用程序的常规安装包。到目前为止,它工作正常。不过我需要稍微改进一下......

故事是安装包将所有依赖程序集复制到加载项的安装文件夹中。

例如,COM 加载项依赖于 Microsoft.Office.Interop.Outlook.dll 程序集。因此安装包将其复制到其文件夹中:)

当然,我可以将 Microsoft.Office.Interop.Outlook.dll 依赖项的 Exclude 属性切换为 True,这将阻止复制程序集。但是,我需要实现以下行为:

  • 如果 GAC 中没有 Microsoft.Office.Interop.Outlook.dll,我们只需将其复制到加载项的安装文件夹中
  • 否则,请使用 GAC 中的那个

请建议在.Net2.0中如何完成ti?一步一步的指导将非常感激。

有帮助吗?

解决方案

只需将其始终复制到文件夹即可。如果它已经在 GAC 中,则无论如何都会首先使用 GAC 的程序集。

换句话说,运行时首先检查 GAC。然后,检查应用程序基础等。

http://msdn.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top