我刚刚完成了对 2010-Excel 的先前 VSTO 加载项的更新。它具有功能区自定义功能,包括启动 Windows 窗体。在我的开发机器上它工作得很好并加载了表单,但在部署的版本中它不起作用。它也不会在我能够捕获的任何地方抛出异常,而且我不知道我可以做些什么来阻止窗口加载。
没有更好的主意,我开始放置断点和消息框:
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
我的 windows 窗体。我试着在里面放一系列类似的笔记
Private Sub ControlPanel_Load(sender As Object, e As EventArgs) Handles MyBase.Load
但他们都没有成功。因此我知道它甚至没有加载。如何获得有关问题所在的更多信息?我看不到任何地方记录了任何异常。我以前的版本仍然有效(cp1
制作和展示),但我已经调整了很多我不想回到它来重建的东西。
我的误解是,如果它在开发环境中运行,它将在几乎相同的部署环境中运行。有没有办法让这些合并?如果我可以与 VS2012 中的问题进行交互,我觉得我可以调试得更快,但是在我安装 VS2012 的那一刻,事情就起作用了......