Состояние ошибки, связанное с ресурсами в приложении Windows Forms C ++ - PullRequest
1 голос
/ 23 мая 2019

Я работаю над устаревшим приложением Windows Forms, использующим VS 2008 под C ++, и столкнулся со странной проблемой. Форма использует объект ImageList, к которому были добавлены два растровых изображения. Во время выполнения я получаю следующую ошибку в режиме отладки (в режиме выпуска приложение просто не запускается):

An unhandled exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.dll

Additional information: Could not find any resources appropriate for the specified culture or the neutral culture.
Make sure "MyApp.Form1.resources" was correctly embedded or linked into assembly "MyApp" at compile time, 
or that all the satellite assemblies required are loadable and fully signed.

Сбой происходит в первой строке этого блока:

this->imageList1->ImageStream = (__try_cast<System::Windows::Forms::ImageListStreamer*  >(resources->GetObject(S"imageList1.ImageStream")));
this->imageList1->TransparentColor = System::Drawing::Color::Transparent;
this->imageList1->Images->SetKeyName(0, S"Nok32.png");
this->imageList1->Images->SetKeyName(1, S"Ok32.png");

Это довольно загадочно, потому что я скопировал приложение из существующего, которое отлично работает. Я просто изменил пространство имен. И если я удаляю два изображения из списка, приложение работает.

Я нашел несколько сообщений на форумах об этой или подобных проблемах, но ни одна не могла мне помочь. Я не думаю, что Visual Studio можно обвинить. Я пробовал с фреймворками 2.0 и 3.0, но безрезультатно. Полностью сравнивая источники обоих приложений, я не вижу существенной разницы.

Любой намек?

1 Ответ

0 голосов
/ 24 мая 2019

Решено: в файле проекта осталось старое пространство имен (.vcproj)!

...