首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSTO Word插件DLL加载错误

VSTO Word插件DLL加载错误
EN

Stack Overflow用户
提问于 2013-07-10 23:25:14
回答 1查看 1.2K关注 0票数 0

我已经创建了一个Word外接程序,它使用了我的DLL之一。当我在Visual Studio中运行它时(无论是调试模式还是发布模式),该应用程序都工作得很好,但是当我尝试单独启动word (并且外接程序仍然存在),然后继续触发加载DLL的方法时,我得到了一个DLL错误,如下图所示。我非常确定这个问题与x86/x64兼容性问题无关,因为我已经将所有项目的平台目标都设置为x86。(用于测试的Word版本也是32位)。任何关于问题可能是什么的想法将非常感谢,提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 17:03:16

所以,在谷歌了一天之后,我找到了我的解决方案。事实证明,Word (以及一般的Office程序)会将您的dll移动到单独的临时目录中-该目录位于:

代码语言:javascript
复制
$User\AppData\Local\assembly\dl3

我的dll依赖于同一目录中的其他资源,但因为它被单独移动到这个临时目录中,所以无法加载该dll。为了解决此问题,我使用以下命令从安装dll的目录手动加载了dll:

代码语言:javascript
复制
System.Reflection.Assembly.LoadFile(string path)

您可以使用以下几行代码获取它的安装目录:

代码语言:javascript
复制
System.Reflection.Assembly assemblyInfo = System.Reflection.Assembly.GetExecutingAssembly();

//Location is where the assembly is run from 
string assemblyLocation = assemblyInfo.Location;

//CodeBase is the location of the ClickOnce deployment files
Uri uriCodeBase = new Uri(assemblyInfo.CodeBase);
string ClickOnceLocation = Path.GetDirectoryName(uriCodeBase.LocalPath.ToString());
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17574691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档