2010-06-30 62 views
1

我遇到了一個奇怪的問題。我正在開發使用Visual Studio 2010和VSTO 3.0的Outlook 2007插件,並使用ClickOnce進行部署。關於DependentPlatformMissingException的任何想法Microsoft.Vbe.Interop.Forms版本11.0.0.0

我想檢查是否有更新,如果是的話提示用戶重新啓動Outlook。

但是,如果我叫ApplicationDeployment.CheckForDetailedUpdate或ApplicationDeployment.CheckForUpdate我得到以下異常:

DependentPlatformMissingException:

無法安裝或運行應用程序。該應用程序需要首先在全局程序集緩存(GAC)中安裝程序集Microsoft.Vbe.Interop.Forms版本11.0.0.0。

這發生在我的開發機器和遠程機器上。

這裏就是我沒有成功到目前爲止已經試過: - 卸載並重新安裝Office 2007的PIA的 - 增加Microsoft.Vbe.Interop.Forms v 11.0.0.0(文件版本12. *)作爲一個參考我的項目 - 已驗證dll的正確版本在我的GAC中

我不知道爲什麼會發生此異常。希望你能幫助。

更新我剛試過這個全新的VS 2010項目。這裏是我的插件文件

如果我的框架設置爲.net 4,它工作正常。如果我的框架設置爲.net 3.5,我會得到相同的異常和錯誤。

命名空間TestOutlookAddIn2 { 公共部分類的ThisAddIn { 私人無效ThisAddIn_Startup(對象發件人,發送System.EventArgs) { MessageBox.Show( 「我在」);

 if (ApplicationDeployment.IsNetworkDeployed) 
     { 
      var info = ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate(); 
     } 
    } 

    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 
} 

}

回答

0

如果你面向.NET 4,它不需要PIA的,它嵌入只是它所需要的位。

您真的在部署VS2010的VSTO 3運行時嗎?還是你正在部署VSTO 4(它與VS2010一起提供)?

+0

我相信這是VSTO 3,因爲這是Outlook 2007中的.NET 3.5解決方案。如何進行雙重檢查? – mat3 2010-06-30 08:45:00

+0

如果您使用Visual Studio 2010進行開發,除非您專門將VSTO 3 Runtime從VS2008移到VS2010,否則它是VSTO 4 Runtime。對於.NET 3.5 VS2007插件, (我應該知道,我寫了一個) 爲了確定,點擊發布面板中的先決條件按鈕,看看選擇了什麼,你應該選擇VSTO 4 Runtime,以及2007 PIA。 – RobinDotNet 2010-07-02 02:18:46

+0

Hi Robin, 我選擇了VSTO 4 Runtime和2007 PIA,但仍然存在相同的問題。在絕望中,我選擇了所有的先決條件,但沒有運氣,仍然得到相同的錯誤。 你可以嘗試這個示例項目,爲我解決這個問題,看看你是否得到相同的錯誤?我在這個評論中已經用完了字符,所以我會把鏈接放在下一個評論 – mat3 2010-07-02 05:50:30

0

當你使用vs2010時,你似乎需要將.net framework 4作爲目標。我已升級到vs2010,但留下項目目標.net3.5。造成了上述問題。我只恢復到VS2008 :(

this (duplicate question) on msdn social從有關這一問題的點擊一次部署MVP有答覆解決它。

相關問題