Excel Microsoft Edge F12和Microsoft Edge开发工具预览崩溃

Excel Microsoft Edge F12和Microsoft Edge开发工具预览崩溃,excel,typescript,office-js,microsoft-edge,add-in,Excel,Typescript,Office Js,Microsoft Edge,Add In,Microsoft Edge F12工具和Microsoft Edge Dev工具预览应用程序在打开时崩溃。使用新Microsoft Edge Chromium版本的同一网站上不会出现此问题 经过7个小时的调试,我写这个问题的目的是自我回答它 我正在使用新的Microsoft Edge WebView for office加载项开发一个Excel加载项,该加载项刚刚推出,并将IE11替换为Excel中的嵌入式IFrame(请参阅)。上个月推出后,问题出现了 崩溃是可预测的,在激活工具5秒后发生。

Microsoft Edge F12工具和Microsoft Edge Dev工具预览应用程序在打开时崩溃。使用新Microsoft Edge Chromium版本的同一网站上不会出现此问题

经过7个小时的调试,我写这个问题的目的是自我回答它

我正在使用新的Microsoft Edge WebView for office加载项开发一个Excel加载项,该加载项刚刚推出,并将IE11替换为Excel中的嵌入式IFrame(请参阅)。上个月推出后,问题出现了

崩溃是可预测的,在激活工具5秒后发生。在边缘浏览器中使用F12工具,以及使用独立开发工具预览远程连接到在MS Excel中运行的边缘浏览器时,会发生此错误


(我不会放应用程序事件日志,因为我已经解决了它)

这是Microsoft的错误,不是编码错误

当使用Typescript并定义只有一个元素的多维数组时,并且仅在异步函数中发生这种情况

async myFunc(){
  let x:number[][] = [[9]]; //Edge F12 tool will crash simply by having this line
}
非异步函数中不会出现此问题,如果将变量定义为类成员,也不会出现此问题。如果定义了多个元素,则不会发生这种情况。解决方法是将变量定义为私有类成员

public x:number[][] = [[9]]; //ok as member variable

let x:number[][] = [[9,2]]; //ok - even in async function

对于阅读本文的读者,他们会正确地问“为什么要定义一个只有1个元素的多维数组”。这是因为MS Excel是一个二维数组,要设置单元格的值,Excel API需要二维数组Excel.Range.values[]][]=any[]]。因此,如果只想设置一个单元格的值,则必须提供一个只包含一个值的多维数组

注意。我没有向微软提出这个问题,因为他们不再支持微软Edge开发工具预览版,而是专注于推出Edge Chromium版本,因此不推荐这些工具。这个问题在Edge Chromium developer发行版中没有出现,但我不知道Edge Chromium何时会作为Excel中的嵌入式浏览器推出(我们上个月才把IE11落在后面)

@JimbobTheSailor 感谢您抽出时间报告问题,并再次提供问题的可能原因


我知道你已经在这个问题上花了很多时间,但我希望你能提供一个示例代码文件,甚至是npm包,这会导致这个问题?我去添加了你的代码,并试图重现这个问题,但我做不到!通过提供整个包或示例,我还可以看到不同版本的TypeScript和其他依赖项。您也可以在此处列出它们。Windows 10版本1903,Office 365版本1906,build 1137.20230-这意味着Microsoft Edge是嵌入式IFrame。Edge Dev tools preview是Microsoft Store上的最新版本,发布日期为2018年3月2日。Angular 8.0.0,Typescript 3.4.5,Office js 1.0.12。我发现Edge开发工具预览版非常不稳定。它经常崩溃。当我的代码没有bug时,它会运行fund。当它有bug时,它会不断崩溃——但当我有bug时,我需要它!非常期待微软将Edge chromium引入Excel@JimbobTheSailor您是否尝试过关闭Office中的性能监视器?他有一些信息。应该可以帮助您找到要更改的注册表项。希望这有帮助!