Лента MFC импортирует как XML вместо открытия конструктора после сохранения

#c #xml #visual-studio #mfc

#c #xml #visual-studio #mfc

Вопрос:

Я создал файл ресурсов с нуля — я переименовал пустой .txt файл в .rc, а затем открыл его в Visual Studio. Затем я добавил ленту, диалоговое окно и т.д. к нему. Затем я сохранил и вышел. Когда я снова открыл файл, Visual Studio пожаловалась:

 error RC2144 : PRIMARY LANGUAGE ID not a number
  

… что было исправлено путем добавления #include <windows.h> в файл resource.rc.

Но когда я снова открыл файл, я получил это: Ошибка RT_RIBBON_XML ленты MFC

Visual Studio, похоже, импортирует ленту как тип «RT_RIBBON_XML», а не как «Лента», как обычно. Как вы можете видеть, в нем говорится, что существует «внешний файл» — и да, сам ribbon XML находится в отдельном файле в том же каталоге. Но я больше не могу открыть ленту в конструкторе, она просто показывает XML вместо конструктора ленты. Как я могу сообщить Visual Studio, что этот XML действительно является лентой?

Я пытался импортировать ленту через «Добавить ресурс> Импорт», но я не могу импортировать ее как тип «Лента», но Visual Studio говорит, что не разрешено открывать внешний тип как встроенный тип.

Я попытался создать новую ленту, затем открыть данные и скопировать-вставить из моей старой ленты в новую ленту. Лента сохраняется правильно, но Visual Studio больше не открывает файл, что означает: когда я открываю файл в текстовом редакторе, я вижу все свои атрибуты, но когда я открываю его в конструкторе, это просто пустая лента. Как я могу загрузить свою оригинальную ленту?

Комментарии:

1. Доступна ли ваша лента для основного языка, установленного в скрипте ресурсов?

2. Да, если я загляну в файл .rc: IDR_RIBBON1 RT_RIBBON_XML "resources\ribbon1.mfcribbon-ms"

3. Я заметил, что ошибка произошла, как только я добавил #include <windows.h> в сценарий ресурса