C# outlook加载项阻止创建重复文件夹

C# outlook加载项阻止创建重复文件夹,c#,outlook,vsto,C#,Outlook,Vsto,我有一个Outlook外接程序,在启动时,它会尝试在发件箱文件夹下创建一个子文件夹(如果还不存在的话)。在两台不同的计算机上安装外接程序时会出现此问题。在一台计算机上安装并运行外接程序后,如果我在另一台计算机上安装并打开Outlook,外接程序会立即发现不存在这样的子文件夹,因为Outlook尚未完成本地数据存储与服务器的同步。它现在创建了一个新的重复子文件夹,在Outlook同步之后,我有两个同名的子文件夹。最好的预防方法是什么?目前我正在考虑以下方法之一: 以某种方式创建一个仅本地的子文件

我有一个Outlook外接程序,在启动时,它会尝试在发件箱文件夹下创建一个子文件夹(如果还不存在的话)。在两台不同的计算机上安装外接程序时会出现此问题。在一台计算机上安装并运行外接程序后,如果我在另一台计算机上安装并打开Outlook,外接程序会立即发现不存在这样的子文件夹,因为Outlook尚未完成本地数据存储与服务器的同步。它现在创建了一个新的重复子文件夹,在Outlook同步之后,我有两个同名的子文件夹。最好的预防方法是什么?目前我正在考虑以下方法之一:

  • 以某种方式创建一个仅本地的子文件夹,使其不与服务器同步。在不同的计算机上进行的每次安装都会有一个单独的子文件夹。就我的外接程序而言,这将很好地工作。这可能吗

  • 检查服务器端是否已创建子文件夹,如果已创建,则不执行任何操作。但是,我不知道如何通过C#使用OOM执行此检查


没有办法在缓存存储中创建仅本地的文件夹,但您始终可以将PST存储添加到配置文件中并将数据存储在其中


您可以使用Extended MAPI或Redemption在联机模式下打开父文件夹,但如果在cod运行时没有连接,您该怎么办?

要求连接的好处是,在这种情况下,我可以让它优雅地失败,而不会影响我的加载项。但是,你能详细说明一下关于在配置文件中添加PST存储的第一点吗?另外,即使使用MAPI在联机模式下检查子文件夹,我也意识到它仍然无法100%工作。如果两台不同的计算机第一次同时启动Outlook,它们都将创建子文件夹,然后在同步后将再次返回重复的文件夹。可以使用Namespace.AddStore/AddStoreEx添加PST存储。