我想在Addin CreateRibbonExtensibilityObject()上调用VSTO Addin中的Office/Excel版本.我遇到过这个问题,遇到过:
this.Application是null,目前尚未由VSTO设置.ThisAddIn_Startup(..)被称为CreateRibbonExtensibilityObject().this.Application.Version尚未提供,因为此时Addin似乎尚未初始化.有没有办法在VSTO运行时调用Addin 时确定Excel(12,14或15)的版本CreateRibbonExtensibilityObject()?
UPDATE
发现ItemProvider已实例化,我使用以下内容获取主要的Office版本.
FieldInfo temp = this.ItemProvider.GetType().GetField("_officeVersion", BindingFlags.NonPublic | BindingFlags.Instance);
uint officeVersion = (uint)temp.GetValue(this.ItemProvider);
Run Code Online (Sandbox Code Playgroud)
我也接受了SliverNinja的回答.
Microsoft已更新.net 4.0的异步/等待目标,现在建议使用nuget上提供的Microsoft.Bcl.Async库.
在发行说明中,它声明需要具有KB 2468871的 .net 4 .