Microsoft Edge F12 и Microsoft Edge Dev Tools Preview аварийно завершают работу - PullRequest
1 голос
/ 21 июня 2019

При открытии приложения Microsoft Edge F12 и приложения Microsoft Edge Dev Tool Preview происходит сбой.Эта проблема не возникает на том же сайте, используя новую версию Microsoft Edge Chromium.

Я пишу этот вопрос с намерением самостоятельно ответить на него, после 7 потерянных часов отладки

Я разрабатываю надстройку Excel с использованием нового Microsoft EdgeWebView для офисных надстроек, который только что развернулся и заменяет IE11 в качестве встроенного IFrame в Excel на Edge (см. https://developer.microsoft.com/en-us/office/blogs/microsoft-edge-webview-for-office-add-ins/). После выпуска этого последнего месяца возникла проблема.

Сбойпредсказуемо, происходит через 5 секунд после активации инструмента. Это происходит при использовании инструментов F12 в браузере Edge и при использовании автономного предварительного просмотра Dev Tools для удаленного подключения к браузеру Edge, работающему в MS Excel.

(я выигралжурналы событий приложения, потому что я уже решил это)

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Это ошибка 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 [] []. Поэтому, если вы хотите установить значение только для одной ячейки, вы должны предоставить многомерный массив только с одним значением.

NB. Я не упоминал об ошибке в Microsoft, так как они больше не поддерживают предварительный просмотр Microsoft Edge Dev Tools, вместо этого сосредоточившись на развертывании версии Edge Chromium, тем самым осуждая эти инструменты. Проблема не возникает в выпуске для разработчиков Edge Chromium, но я понятия не имею, когда Edge Chromium будет запущен в качестве встроенного браузера в Excel (мы только что оставили IE11 позади в прошлом месяце)

0 голосов
/ 02 июля 2019

@ JimbobTheSailor Спасибо, что нашли время сообщить о проблеме, а также вернулись, чтобы сообщить о возможной причине проблемы.

Я знаю, что вы уже потратили кучу времени на эту проблему, но я надеялся, что вы могли бы предоставить файл примера кода или даже пакет npm, который вызовет проблему?Я пошел и добавил ваш код и попытался воспроизвести проблему, но не смог. GitHub Repo !Предоставляя весь пакет или пример, я также могу увидеть различные версии TypeScript и другие зависимости.Вы также можете просто перечислить их здесь. ?

Если возможно, и не возражаете против того, чтобы взять его, не могли бы вы предоставить версию Windows, которую вы используете?СТАРТ |RUN |WINVER.Кроме того, версия DevTools Preview?Пример:

C:\Program Files\WindowsApps\Microsoft.MicrosoftEdgeDevToolsPreview_18.924.1.0_x64__8wekyb3d8bbwe 

Для запуска моего образца все, что вам нужно сделать, это:

npm install
npm run build:dev
npm start

... или эквивалент пряжи.

Это создаст, боковая загрузкаприложение и загрузите Excel.?

...