У меня есть форма Windows, которая включает TreeView.В дереве есть изображения для его узлов, которые являются встроенными ресурсами в проекте.При запуске формы на моем компьютере для разработки (в Visual Studio и за ее пределами) она работает нормально, и у каждого триода есть свое собственное изображение.При запуске в рабочей коробке окно сталкивается с ошибкой при попытке загрузить встроенные изображения.Я добавил логику, чтобы не использовать изображения, если это происходит, так что дерево все еще отображается, но я хотел бы выяснить, в чем проблема и как ее исправить.
Возвращаемое сообщение об ошибке - это общий «параметр недопустим» при попытке создать новое растровое изображение.Трассировка стека дает строку «System.Drawing.Bitmap..ctor (Type type, String resource)» в качестве точки сбоя.См. Код ниже.
ImageList imageListNodes = new ImageList();
Bitmap mIcon;
mIcon = new Bitmap(this.GetType(), "m2.ico"); // This is the line that fails.
imageListNodes.Images.Add("m", (Image)mIcon);
tvRecords.ImageList = imageListNodes; // This is the treeview used in the form.
Файл m2.ico был добавлен непосредственно в проект.Его свойства включают в себя Build Action = Embedded Resource и Copy to Output Directory = Not copy.
Мой компьютер для разработки работает под управлением Windows 7, а рабочая версия - Windows Server 2003 SP2 со средой Citrix.Проект находится в .NET 3.5, который у них обоих есть.Эта форма будет доступна на разных клиентских компьютерах, поэтому она должна работать в Server 2003 и более поздних версиях.
Спасибо за любые предложения!
РЕДАКТИРОВАТЬ: Несколькоминут, и уже предлагается, что эта установка не будет работать вообще.Я отметил выше, что это работает на моем компьютере как в режиме отладки Visual Studio, так и при вызове самостоятельно.Сами файлы значков отключены в общем сетевом ресурсе, поэтому нет никакой возможности, что DLL может их вытянуть;файлы должны быть вставлены правильно, и преобразование растровых / пиктограмм должно работать правильно, иначе оно не будет работать на моем компьютере.
Я ценю предложения и хочу попробовать другие методы достижения той же цели, но, пожалуйста, обратите внимание, что мой первоначальный вопрос, по крайней мере, состоит в том, почему это работает на моем компьютере, а не на другом.Спасибо!