System::Resources ::MissingManifestResourceException после перемещения формы в новое пространство имен

#c #.net #resx

#c #.net #resx

Вопрос:

Моя проблема заключается в следующем:

Я получил проект Microsoft Visual C 2008 и порядок организации всех классов в нем во вложенных пространствах имен. Теперь я получаю System::Resources ::MissingManifestResourceException во время выполнения, потому что пользовательский System :: Windows::Forms имеет ресурс сборки, и с новым пространством имен старый Resx-файл больше не подходит. Теперь моя проблема в том, что я понятия не имею, как повторно подключить его к классу Form.

Старый код формы был похож:

 namespace OldNamespace{
  ref class MainForm : public System::Windows::Forms::Form{
      ...
  };
}
  

Новый код выглядит так:

 namespace NewNamespace{
  namespace GUI{
      namespace MainWindow{
          ref class MainForm : public System::Windows::Forms::Form{
          ...
          };
      }
   }
}
  

Я попытался изменить имя файла созданного файла ресурсов из resx-файла из

 $(IntDir)$(RootNamespace).$(InputName).resources
  

Для

 $(IntDir)NewNamespace.GUI.MainWindow.MainForm.resources
  

Но я все еще получаю System::Resources ::MissingManifestResourceException во время выполнения.

В чем моя ошибка?

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

1. Я нашел решение. Я заменил System ::ComponentModel::ComponentResourceManager^ ресурсы = (gcnew System::ComponentModel::ComponentResourceManager(className::typeid)); на System::ResourceManager::ResourceManager^ ресурсы = (gcnew System::Resources::ResourceManager(«<Путь к old .resources>»,Имя_класса::typeid->Сборка));

2. @user3773981 ты сделал мой день