2

以前曾以一种或另一种方式问过这个问题,但我需要澄清我遇到的问题。

本质上,我的客户希望他的应用程序(wpf,用 VS2010 编写)能够在他的 Outlook 中创建新消息(不发送它们,而只是弹出填充了某些字段的新邮件消息 - 他将输入其余的正文然后发送)

所以迄今为止我一直在使用mailto的路线:

System.Diagnostics.Process.Start(string.Concat(@"mailto:" , toAddress , "?subject=" , subject));

十分简单。

现在他希望包含附件。做了一些研究,我发现曾经有一个 &Attach 标签我可以添加,但它对我不起作用。进一步的研究表明,它自 Office 2007 以来就被杀死了(我的盒子上安装了 2013,客户端有所有不同的类型)所以我不能使用这种方法。

进一步的研究建议我走 COM 自动化路线。在 MSDN 上有类似这样的在线 tuts

看起来很简单,但我在这一点上卡住了

第1步。创建一个控制台应用程序并引用 Outlook Primary Interop Assembly (PIA)。要引用 Outlook PIA,请右键单击项目文件并单击“添加引用...”按钮。在“添加引用”对话框中,导航到 .NET 选项卡,找到 Microsoft.Office.Interop.Outlook 12.0.0.0 并单击“确定”。

现在我有一堆不同的(v11 - v15) 办公室互操作文件 我猜是因为我拥有不同版本的办公室。现在我的问题是

  1. 我应该选择哪个版本
  2. 鉴于他们的机器都有不同版本的办公室,当我发布(clickonce)并部署到我的客户时会发生什么。

最高版本会容纳所有这些吗?我可以选择一个来适应他们吗

(注意:它必须通过 Outlook 发生,所以我不能使用普通的 .net 邮件方法——如果可以的话,那就太好了)

谢谢

4

1 回答 1

0

我的建议是不要使用 PIA,而是使用 NetOffice,因为它提供了非常好的抽象并且可以与任何 Office 版本一起使用 ( https://netoffice.codeplex.com/ )。也适用于 Clickonce 发行版。

于 2013-06-13T20:16:05.647 回答