Excel VSTO 拒绝在特定机器上加载
Excel VSTO refuses to load on particular machine
我们有 Excel 的 VSTO 插件,它在除一个系统之外的所有系统上工作,我从有问题的机器上得到以下错误。
似乎加载这个 Excel 扩展有问题,并且不知道为什么在特定系统上会发生这种情况。问题机器报错如下,
System.Runtime.InteropServices.COMException (0x800A03EC): Cannot insert object.
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32\[\] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.Shapes.AddOLEObject(Object ClassType, Object Filename, Object Link, Object DisplayAsIcon, Object IconFileName, Object IconIndex, Object IconLabel, Object Left, Object Top, Object Width, Object Height)
at Microsoft.Office.Tools.Excel.ControlCollectionImpl.CreateWrapperAndGetCookie(String name, Double left, Double top, Double width, Double height, Boolean anchor, \_OLEObject& outObject)
at Microsoft.Office.Tools.Excel.ControlCollectionImpl.InternalAddOtherControl(Control control, Double left, Double top, Double width, Double height, String name, Boolean anchor)
at Microsoft.Office.Tools.Excel.ControlCollectionImpl.AddControl(Control control, Range range, String name)
at TechnicalCalculation.Sheet1.LoadSchedulerUserControl()
at TechnicalCalculation.ThisWorkbook.InitializeService()
at TechnicalCalculation.ThisWorkbook.ThisWorkbook_Startup(Object sender, EventArgs e)
at Microsoft.Office.Tools.Excel.WorkbookImpl.OnStartup()
at Microsoft.Office.Tools.Excel.WorkbookImpl.WorkbookExtensionImpl.Microsoft.Office.Tools.EntryPoint.OnStartup()
at Microsoft.Office.Tools.Excel.WorkbookBase.OnStartup()
at TechnicalCalculation.ThisWorkbook.FinishInitialization()
at Microsoft.Office.Tools.Excel.WorkbookBase.Microsoft.Office.Tools.EntryPoint.FinishInitialization()
at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.ExecutePhase(ExecutionPhases executionPhases)
at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop.IExecuteCustomization2.ExecuteEntryPoints()
我们试过以下,
- 尝试并完成所有已完成的依赖项。
- VSTO 被打包在安装文件中,我们已经卸载并重新安装它。
- VSTO,它可以发出日志,但加载 VSTO 时不会发出日志。似乎在从 VSTO 执行任何代码之前,它被限制为加载 Excel.
您可以使用 Windows 中的事件查看器来查看在安装或卸载 Office 解决方案时由 Visual Studio Office 运行时工具捕获的异常消息。您可以使用来自事件记录器的这些消息来解决安装和部署问题。在 Event logging for Office solutions 文章中阅读更多相关信息。
可以设置 VSTO_SUPPRESSDISPLAYALERTS
windows 环境变量以在加载 VSTO add-ins 时启用详细的 Outlook 和 VSTO(Visual Studio Office 工具)错误消息。参见 How do I enable VSTO error / display alerts?。
我找到了我的问题的解决方案,它在下面给出 link
Solution is given at last step, for my problem
我们有 Excel 的 VSTO 插件,它在除一个系统之外的所有系统上工作,我从有问题的机器上得到以下错误。
似乎加载这个 Excel 扩展有问题,并且不知道为什么在特定系统上会发生这种情况。问题机器报错如下,
System.Runtime.InteropServices.COMException (0x800A03EC): Cannot insert object.
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32\[\] aWrapperTypes, MessageData& msgData)
at Microsoft.Office.Interop.Excel.Shapes.AddOLEObject(Object ClassType, Object Filename, Object Link, Object DisplayAsIcon, Object IconFileName, Object IconIndex, Object IconLabel, Object Left, Object Top, Object Width, Object Height)
at Microsoft.Office.Tools.Excel.ControlCollectionImpl.CreateWrapperAndGetCookie(String name, Double left, Double top, Double width, Double height, Boolean anchor, \_OLEObject& outObject)
at Microsoft.Office.Tools.Excel.ControlCollectionImpl.InternalAddOtherControl(Control control, Double left, Double top, Double width, Double height, String name, Boolean anchor)
at Microsoft.Office.Tools.Excel.ControlCollectionImpl.AddControl(Control control, Range range, String name)
at TechnicalCalculation.Sheet1.LoadSchedulerUserControl()
at TechnicalCalculation.ThisWorkbook.InitializeService()
at TechnicalCalculation.ThisWorkbook.ThisWorkbook_Startup(Object sender, EventArgs e)
at Microsoft.Office.Tools.Excel.WorkbookImpl.OnStartup()
at Microsoft.Office.Tools.Excel.WorkbookImpl.WorkbookExtensionImpl.Microsoft.Office.Tools.EntryPoint.OnStartup()
at Microsoft.Office.Tools.Excel.WorkbookBase.OnStartup()
at TechnicalCalculation.ThisWorkbook.FinishInitialization()
at Microsoft.Office.Tools.Excel.WorkbookBase.Microsoft.Office.Tools.EntryPoint.FinishInitialization()
at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.ExecutePhase(ExecutionPhases executionPhases)
at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop.IExecuteCustomization2.ExecuteEntryPoints()
我们试过以下,
- 尝试并完成所有已完成的依赖项。
- VSTO 被打包在安装文件中,我们已经卸载并重新安装它。
- VSTO,它可以发出日志,但加载 VSTO 时不会发出日志。似乎在从 VSTO 执行任何代码之前,它被限制为加载 Excel.
您可以使用 Windows 中的事件查看器来查看在安装或卸载 Office 解决方案时由 Visual Studio Office 运行时工具捕获的异常消息。您可以使用来自事件记录器的这些消息来解决安装和部署问题。在 Event logging for Office solutions 文章中阅读更多相关信息。
可以设置 VSTO_SUPPRESSDISPLAYALERTS
windows 环境变量以在加载 VSTO add-ins 时启用详细的 Outlook 和 VSTO(Visual Studio Office 工具)错误消息。参见 How do I enable VSTO error / display alerts?。
我找到了我的问题的解决方案,它在下面给出 link Solution is given at last step, for my problem