Приложение MAUI для Windows: ошибка COMException: установленные компоненты не найденыC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Приложение MAUI для Windows: ошибка COMException: установленные компоненты не найдены

Сообщение Anonymous »

Я пишу простое приложение с графическим интерфейсом для MAUI. Я отлаживаю его под Windows. Графический интерфейс приложения представляет собой таблицу на основе Maui.Controls.Grid. Ячейки таблицы содержат кнопки для управления этими ячейками. Эта функция добавляет элементы в таблицу:

Код: Выделить всё

private void OnAddHomeworkClicked(object sender, EventArgs e)
{
var button = (Button)sender;
int column = ScheduleGrid.GetColumn(button);
int row = ScheduleGrid.GetRow(button);

if (column >= 4) return;

Entry homeworkEntry = new Entry();
ScheduleGrid.Children.Add(homeworkEntry);
ScheduleGrid.SetRow(homeworkEntry, row);
ScheduleGrid.SetColumn(homeworkEntry, column);

var deleteButton = CreateDeleteButtonForHomework(homeworkEntry);
ScheduleGrid.Children.Add(deleteButton);
ScheduleGrid.SetRow(deleteButton, row);
ScheduleGrid.SetColumn(deleteButton, column);

ScheduleGrid.Children.Remove(button);
ScheduleGrid.Children.Add(button);
ScheduleGrid.SetRow(button, row);
ScheduleGrid.SetColumn(button, column + 1);
}
Определение ScheduleGrid:

Код: Выделить всё

private global::Microsoft.Maui.Controls.Grid ScheduleGrid;
Код XAML: Эта функция добавляет homeworkEntry и deleteButton в ячейку, где находится нажатая кнопка, а также удаляет оттуда нажатую кнопку и перемещает ее в следующую свободную ячейку.
При выполнении строки ScheduleGrid.Children.Add(button); выдается исключение System.Runtime.InteropServices.COMException с сообщением об ошибке: Установленные компоненты не найдены. Код ошибки: 800F1000, что на самом деле означает то же самое. Какие компоненты не установлены — загадка.
Стек вызовов:

at WinRT.DelegateExtensions.DynamicInvokeAbi(Delegate del , Object[] ignore_params)
в ABI.System.Collections.Generic.IListMethods

Код: Выделить всё

2.InsertAtDynamic(IObjectReference obj, UInt32 index, T value) at ABI.System.Collections.Generic.IVectorMethods
1.InsertAt(IObjectReference obj, индекс UInt32, значение T)
в ABI.System.Collections.Generic.IListMethods

Код: Выделить всё

1.InsertAtHelper(IObjectReference obj, UInt32 index, T item) at ABI.System.Collections.Generic.IListMethods
1.Insert(объект IObjectReference, индекс Int32, элемент T)
в Microsoft.UI.Xaml.Controls.UIElementCollection.Insert(индекс Int32, элемент UIElement)
в Microsoft.Maui.Handlers .LayoutHandler.Add(дочерний элемент IView)
at Microsoft.Maui.Handlers.LayoutHandler.MapAdd(обработчик ILayoutHandler, макет ILayout, Object arg)
в Microsoft.Maui.CommandMapper`2.c__DisplayClass6_0.b__0(IElementHandler h, IElement v, Object o)
в Microsoft.Maui.CommandMapper.InvokeCore(String key, IElementHandler viewHandler, IElement virtualView, Object args)
в Microsoft.Maui.CommandMapper.Invoke (IElementHandler viewHandler, IElement virtualView, свойство String, Object args)
в Microsoft.Maui.Handlers.ElementHandler.Invoke (Строковая команда, аргументы объекта)
at Microsoft.Maui.Controls.Layout.NotifyHandler(действие String, индекс Int32, представление IView)
в Microsoft.Maui.Controls.Layout.OnAdd(индекс Int32, представление IView)
в Microsoft.Maui.Controls .Grid.OnAdd(индекс Int32, представление IView)
в Microsoft.Maui.Controls.Layout.Add(IView ребенок)

Как определить, каких компонентов не хватает?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ents-found
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»