![](/img/trans.png)
[英]C# VSTO Outlook 2007: <dll> is not a valid Office Add-in
[英]Outlook 2007 Add-in Deployment as a DLL
我開發了第一個Outlook外接程序,
我可以看到調試外接程序會自動打開Outlook,我注意到在連接外接程序( 作為一個帶有一個按鈕的新菜單 )時,Outlook大約需要20秒才能打開。
我認為這可能是因為我正在調試我的項目!
我將加載項發布到了我的本地主機,然后使用“單擊一次”安裝了該加載項,但仍然掛載
Outlook將OutlookAddIn2.vsto文件用作我的自定義加載項,但是當我看到其他加載項時,它們都是dll而非vsto的dll,它們在啟動時不會掛斷Outlook
我應該怎么做才能將項目部署為dll,又不凍結啟動時的前景?
先感謝您。
ps:最終,該加載項將在我們的Intranet員工Outlook帳戶中實現
編輯:
namespace OutlookAddIn2
{
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
MyToolBar();
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
Office.CommandBar mainMenuBar;
Office.CommandBarPopup oldMenuBar;
Office.CommandBarPopup myMenuBar;
Office.CommandBarButton myButton;
private void MyToolBar()
{
try
{
mainMenuBar = this.Application.ActiveExplorer().CommandBars.ActiveMenuBar;
oldMenuBar = (Office.CommandBarPopup)this.Application.ActiveExplorer().CommandBars.ActiveMenuBar.FindControl
(
Office.MsoControlType.msoControlPopup, missing, "Katakit", true,true
);
if (oldMenuBar != null)
oldMenuBar.Delete(true);
myMenuBar = (Office.CommandBarPopup)mainMenuBar.Controls.Add(
Office.MsoControlType.msoControlPopup,
missing, missing, missing, false);
if (myMenuBar != null)
{
// Add a button to the new toolbar.
myMenuBar.Caption = "Katakit";
myMenuBar.Visible = true;
myMenuBar.Tag = "Katakit";
myButton = (Office.CommandBarButton)myMenuBar.Controls.Add
(Office.MsoControlType.msoControlButton, missing, missing, missing, true);
myButton.Caption = "Pending Summary 2";
myButton.FaceId = 500;
myButton.Tag = "btnPendingSummary";
myButton.Visible = true;
}
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show("Error: " + ex.Message.ToString()
, "Error Message");
}
}
#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
}
}
可能您遇到了“檢查發布者證書吊銷”瓶頸。 它與Outlook無關,但與在沒有適當Internet訪問的環境中運行的.net程序集無關。 請參閱Add-in Express論壇中的此條目 ,並參考此討論 。 您可以禁用IE設置,也可以嘗試驗證Internet訪問。
當我的VMWare開發機器認為它具有網絡訪問權限,但主機的網絡已關閉,例如VM已橋接到主機,但主機的網絡電纜未插入時,或者VMWare guest虛擬機是運行域控制器(=>網絡可用)的域的一部分,但是該網絡無法訪問Internet,也沒有適當的證書頒發機構。 在這種情況下,啟動時間會很慢。 如果主機可以訪問Internet,則沒有啟動延遲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.