2013-10-07 33 views
0

我剛剛完成了對2010-Excel之前的VSTO加載項的更新。它有一個功能區定製,包括啓動一個窗體。在我的開發機器上它工作得很好並加載了表單,但在部署的版本中它不起作用。它也不會在我能夠捕捉到的任何地方拋出異常,並且我不知道該怎麼做才阻止窗口加載。調試Excel VSTO在開發和部署之間的差異

用了一個更好的主意,我開始把在破發點和消息框:

Private Sub RibbonControlPanelButton_Click(sender As Object, e As RibbonControlEventArgs) Handles RibbonControlPanelButton.Click 
    Environment.SetEnvironmentVariable("VSTO_LOGALERTS", 1) 
    Environment.SetEnvironmentVariable("VSTO_SUPPRESSDISPLAYALERTS", 0) 
    MsgBox("1") 
    Dim cp1 As New ControlPanel 
    MsgBox("2") 
    cp1.Show() 
    MsgBox("3") 
    cp1 = Nothing 
    MsgBox("4") 
End Sub 

在這個測試我做到了「1」,所以失敗是在作出New ControlPanel這是我的窗口形成。我試着在

Private Sub ControlPanel_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

類似的系列筆記但他們都沒有成功。因此我知道它甚至沒有加載。怎樣才能獲得更多有關錯誤的信息?我看不到有任何異常被記錄在任何地方。我以前的版本仍然有效(製作並顯示了cp1),但是我已經調整了很多我不願意重新進行重建的內容。

我的誤解是,如果它在開發環境中工作,它將在幾乎相同的部署環境中工作。有沒有辦法讓這些合併?我覺得我可以更快地調試,如果我可以與VS2012中的問題進行交互,但是當我安裝VS2012時,這個工作正常...

回答

0

我想出了這個答案。雖然我沒有資格正式稱這是一個MS錯誤,但似乎是這樣。

它一直未能做出Win的新實例。表單,但是當我試圖從功能區啓動它時,我沒有遇到任何錯誤。我改變了this workbook的啓動條件,以便嘗試創建Win Form的新實例。

那時我發現PowerPack 10無法找到的錯誤。這似乎很奇怪,因爲在我的Clickonce部署中,PowerPack 10被列爲必備條件。之前已經安裝了「公共」版本的powerpacks here這是第3版,這讓事實更加困惑。不知怎的,它通過了安裝程序的檢查,但並不是程序所需要的。當我DL從link in the installer,其實是第10版的版本,一切正常。

我仔細檢查過,發現v10被列爲prereq,但由於某種原因,它沒有被Clickonce安裝程序攔截。我認爲我之前版本的程序工作的原因,但目前的版本沒有,是在我的表格中使用不同種類的線條(所有原因!)。

希望這可以節省別人的心痛。

相關問題