我有一个依赖于另一个托管程序集(DLL“A”)的Excel 2007文档自定义程序集,而该程序集又依赖于用C ++编写的非托管本机DLL(DLL“B”)。我创建了一个Windows安装程序项目,将自定义程序集,其部署和应用程序清单,依赖程序集(A)和本机DLL(B)部署到“Program Files \”目录中,而Excel文档(实际模板)是复制到用户的“我的文档”文件夹中。已相应修改模板的_AssemblyLocation属性以查找部署清单。
模板无法加载。查看Process Monitor中的加载顺序,很明显Excel模板成功加载了查找并加载DLL“A”的自定义DLL,但是即使B位于同一目录中,A也无法找到DLL“B”。 Process Monitor显示A在PATH环境变量中列出的所有目录中查找B,但不在其自己的目录中查找。
在VSTO文档自定义解决方案中搜索依赖程序集/ DLL时的约定是什么?有没有办法帮助A找到B而不将应用程序目录添加到PATH?