如何:复制依赖程序集以防它不在 GAC 中?
-
23-08-2019 - |
题
我正在使用 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
不隶属于 StackOverflow