无法调试Outlook的应用程序级外接程序

时间:2012-10-10 12:07:37

标签: c# outlook vsto ms-office outlook-addin

这是我第一次使用.NET为Outlook创建应用程序级外接程序。通过使用教程,我写下了一些代码并且它已成功构建,但我无法调试代码。调试警告框时显示:

  

您无法运行或调试此项目,因为未安装所需的Microsoft应用程序版本。

我正在使用 Visual Studio 2010 MS Office 2007 。为了调试代码,我该怎么办?我可以对代码进行任何更改,以便我可以对其进行调试。

这是代码

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;
using Microsoft.Office.Interop.Outlook;
namespace OutlookAddIn1
{

    public partial class ThisAddIn
    {
        Outlook.Inspectors inspectors;
        event InspectorsEvents_NewInspectorEventHandler NewInspector;


        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            inspectors = this.Application.Inspectors;
            inspectors.NewInspector +=
            new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector); 
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {

        }
        void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
        {
            Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
            if (mailItem != null)
            {
                if (mailItem.EntryID == null)
                {
                    mailItem.Subject = "This text was added by using code";
                    mailItem.Body = "This text was added by using code";
                }

            }
        }
        #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
    }
}

1 个答案:

答案 0 :(得分:18)

问题不在于您的代码 - 它是您的项目文件的错误配置以及您安装的MS Office版本。请参阅related SO post regarding editing DebugInfoExeName in the csproj to match the proper Office version

Office Version | Version Number
---------------+-----------------
    2007       |   12.0
    2010       |   14.0
    2013       |   15.0
    2016       |   16.0

对于 MS Office 2007 ,您的项目文件DebugInfoExeName应为:

  

DebugInfoExeName =“#Software \ Microsoft \ Office \ 12.0 \ Outlook \ InstallRoot \ Path#outlook.exe”