Файл C # resx не работает после изменения пространства имен - PullRequest
6 голосов
/ 19 мая 2011

Я работаю над существующим приложением формы Windows. Мне нужно всего лишь внести несколько изменений, во время этих изменений я столкнулся со сценарием, в котором мне нужно также переименовать существующее пространство имен. Теперь после переименования этого пространства имен мой проект не запущен. Хотя он компилируется нормально, но ломается в следующей строке кода

ImageList il = new ImageList();
ImageList = il;            
il.Images.Add((Image)new Bitmap(GetType(), "Images.ImageFileName.png"));//when this line is executed a dialog box appears and says that "there is no source code available for current location"

Теперь, когда я новичок в мире .net, я изучаю эту проблему и полагаю, что она возникает из-за изменений в namspace. Я также пытаюсь переименовать пространство имен в Resources.Designer.cs но это также не решило мою проблему

Ответы [ 5 ]

5 голосов
/ 20 мая 2011

Спасибо всем.

Я сам нашел решение.Целью публикации решения здесь является то, что кто-то может извлечь из этого пользу.Infact это своего рода небрежность с моей стороны, потому что я забыл изменить значение свойства «NameSpace по умолчанию», это свойство содержит старое пространство имен, поэтому мой файл ресурсов всегда указывает на старое пространство имен

3 голосов
/ 19 мая 2011

Щелкните правой кнопкой мыши на Resources.resx, выберите Properties, найдите Custom Tool Namespace, установите нужное пространство имен.

Кроме того, почему бы вам не ссылаться на ваши ресурсы в печатном виде, например Resources.ResrouceName.

Вот краткое руководство по настройке ресурсов, чтобы вам не приходилось разыгрывать пространства имен и думать о них: http://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.80%29.aspx

3 голосов
/ 19 мая 2011

попробуйте избавиться от этой второй строки, ImageList = il;.то, что он делает, заменяет класс экземпляром класса.не хорошо.

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

Я тоже сталкивался с этой проблемой.Мне пришлось переименовать пространство имен моего приложения.После этого дизайнер игнорировал все ресурсы, хотя они появлялись после создания решения и запуска приложения.

Я обнаружил, что хотя я переименовал пространство имен, оно не было заменено в свойствах приложения в текстовом поле «Пространство имен по умолчанию».Я изменил старое пространство имен, которое все еще появлялось там, с новым пространством имен, и оно впоследствии работало должным образом.

0 голосов
/ 19 мая 2011

Эта специфическая перегрузка конструктора растрового изображения объединяет пространство имен данного типа со строковым именем ресурса и ищет совпадение в манифесте сборки.Так что в этом случае это будет пространство имен вашего класса + ".Images.ImageFileName.png".Я предполагаю, что не существует.Измените пространство имен Resources.resx, щелкнув по нему правой кнопкой мыши и выбрав свойства, выполните перестройку и посмотрите, работает ли она сейчас.

...