Outlook 2007 Addin C# - 启动路径

发布于 2024-10-10 23:08:14 字数 458 浏览 4 评论 0原文

我在 Outlook 2007 加载项中使用一些 Win32 dll。

所以我添加了 dll,使用构建操作“内容”并将其复制到本地目录。

为了获取它们的路径,我通常会使用:

Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "MyDll.dll");

当由 ClickOnce 发布时,Assembly.GetExecutingAssembly 不会为我提供所有 ClickOnce 文件的标准路径。我的文件位于 %appdata%..\Local\Apps\2.0 中,但程序集位于 %appdata%..\Local\Assembly 中。

是否有更好的方法从 ClickOnce 部署的 Outlook 加载项中获取这些 dll 的路径?

I am using some Win32 dlls in an Outlook 2007 add-in.

So I added the dlls, with build action "Content" and copy to local directory.

To get the path to them, I would normally use:

Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "MyDll.dll");

When published by ClickOnce, Assembly.GetExecutingAssembly not giving me the standard path to all my ClickOnce files. My files are in %appdata%..\Local\Apps\2.0, but the assembly is in %appdata%..\Local\assembly.

Is there a better way to get the path to these dlls from within an Outlook add-in deployed by ClickOnce?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄居人 2024-10-17 23:08:14

这段代码现在给了我正确的路径:

string path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "MyDll.dll");

在解析命令行参数时我必须使用SetupInformation,并且一些调试引导我找到这个属性。

如果它给我带来任何麻烦,我会回复,因为我们需要在多台机器上安装并看看会发生什么。

This code is giving me the correct path now:

string path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "MyDll.dll");

I've had to use SetupInformation when parsing command-line arguments, and some debugging led me to this property.

I will post back if it gives me any trouble, as we will need to install on several machines and see what happens.

岁月无声 2024-10-17 23:08:14

您是否尝试过将它们添加为参考?我相信,如果您以这种方式放置它们,则加载项应该知道位置。只需查看当您添加 Office Interops(和其他引用)时它如何处理它们 - 无需指定,只需在代码中引用它们即可。

Have you tried adding them in as a reference? I believe that the add-in should know the location if you put them in that way. Just look at how it handles the Office Interops (and other references) when you add them in - no need to specify, just reference them in your code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文