找不到VSTO文件

找不到VSTO文件,vsto,Vsto,我正在为MS Outlook准备一个VSTO加载项。ADIN是设计用来利用非托管C++库的。可以通过C++/CLI(CLR)项目访问该库。我收到一封信 找不到文件 直接运行加载项时出错。看来,ADIN对相关的非托管C++库有困难。库完全在C++ + CLI项目中打包,没有使用它需要了解非托管C++库。这种情况最奇怪的方面是,如果我从VisualStudio启动加载项,所有加载项都正确加载。我已经验证了所有正在使用的库都在它们应该使用的地方。我不清楚为什么加载项无法启动(如果不是从VisualSt

我正在为MS Outlook准备一个VSTO加载项。ADIN是设计用来利用非托管C++库的。可以通过C++/CLI(CLR)项目访问该库。我收到一封信 找不到文件 直接运行加载项时出错。看来,ADIN对相关的非托管C++库有困难。库完全在C++ + CLI项目中打包,没有使用它需要了解非托管C++库。这种情况最奇怪的方面是,如果我从VisualStudio启动加载项,所有加载项都正确加载。我已经验证了所有正在使用的库都在它们应该使用的地方。我不清楚为什么加载项无法启动(如果不是从VisualStudio启动)

注意:我通过运行一个测试来验证这个,在那里我创建了一个C++类库,它具有一个类和一个C++类,它从第一个库中实例化类。我尝试从VSTO项目连接到C++/CLI库。我得到文件找不到错误。我觉得这是验证/确定发生了什么的最简单的测试

彼得
彼得

这个问题涉及到我根据物品放置的位置做出假设。我有一个将加载项部署到目标部署位置的安装程序。所有文件都已进入此文件夹。我的想法是,如果所有的图书馆都位于同一个位置,那么它们都应该被找到。这是基于我的想法,即应用程序首先在本地运行并查找文件。我的错误是,正在运行的应用程序是Office Outlook,并且它运行在特定的文件夹位置。当我找到文件时,我想这不可能,因为文件都在一起。但是加载外接程序时,Office产品不会查看外接程序标识的位置(对于未管理的DLL,请参阅leat-managed-可能不同)

最终结果是,非托管DLL无法定位,因为它没有显示在Windows的任何seath位置。因此,正确的做法是更新路径以获得该外接程序的位置。解决了未找到的问题。令人恼火的是,Visual Studio调试器似乎正在识别应用程序从何处启动的DLL。这通常是好的——除了VSTO,正在运行的应用程序在其他地方——但是VS仍然在项目文件夹位置查找文件。有点不清楚。这不应该发生。VS debug应该尝试或至少可以配置为在真实场景的上下文中运行。如果是的话,我肯定找不到那个配置

彼得