我刚开始开发一个Addin for Outlook。当Outlook第一次运行Addin时,addin的安装窗口显示并且它没有问题。例如,我的测试应用程序移动任何带有主题的电子邮件" USED CARS"进入回收站。
我将过滤器更改为" test",在VS2010中运行调试器并向我自己发送了一封电子邮件,其中包含" test"在这个主题。由于某种原因它没有用。然而,它仍在移动电子邮件主题"使用过的汽车"即使我已经改变了代码。
我已尝试从Outlook中删除Addin,但这没有帮助。
以下是当前代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;
namespace test3
{
public partial class ThisAddIn
{
Outlook.NameSpace outlookNameSpace;
Outlook.MAPIFolder inbox;
Outlook.Items items;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
outlookNameSpace = this.Application.GetNamespace("MAPI");
inbox = outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderInbox);
items = inbox.Items;
items.ItemAdd +=
new Outlook.ItemsEvents_ItemAddEventHandler(items_ItemAdd);
}
void items_ItemAdd(object Item)
{
string filter = "test";
Outlook.MailItem mail = (Outlook.MailItem)Item;
if (Item != null)
{
if (mail.MessageClass == "IPM.Note" &&
mail.Subject.ToUpper().Contains(filter.ToUpper()))
{
mail.Move(outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderDeletedItems));
}
}
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
#region VSTO generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
}
可以找到原始代码here。
目前我唯一的解决方案是每次更改代码时都使用不同的名称创建一个新项目。
感谢您的帮助!
更新
我已经购买了一台新PC,作为工作升级和Visual Studio和Outlook最新版本的一部分。现在这不再是一个问题。
答案 0 :(得分:0)
您的问题可能与Visual Studio的版本有关。我刚刚在VS2013中尝试了这个,没有任何问题。你的代码对我来说似乎很好。