Select Resource диалог дизайнера VS.NET 2005
От: Sashko Россия http://www.dc.baika.ru/
Дата: 14.02.06 06:53
Оценка:
В дизайнере 2005 студии появился довольно удобный диалог Select Resource, который позволяет выбрать ресурс (например bitmap) из resx файла находящегося в проекте, и дизайнер добавит в код ссылку на этот ресурс (а не скопирует его в resx файл ассоциированный с редактируемым файлом). Всё хорошо, но этот Select Resource находит только дефолтовый Resources.resx из папки Properties и resx файлы находящиееся в корневой папке проекта. Рефлектором нашёл место, где происходит поиск resx файлов

// internal class ResourcePickerService
// Name: Microsoft.VisualStudio.Windows.Forms.ResourcePickerService 
// Assembly: Microsoft.VisualStudio.Windows.Forms, Version=2.0.0.0 

internal class ResourcePickerService
{
    // ...
    internal Dictionary<string, string> GetProjectResXFileNames()
    {
        // ...
            foreach (ProjectItem item2 in project1.ProjectItems)
            {
                if (!this.TypeFile.Equals(new Guid(item2.Kind)))
                {
                    continue;
                }
                text1 = item2[1];
                if (text1.EndsWith(".resx"))
                {
                    dictionary1.Add(ResourcePickerService.GetResXName(text1), text1);
                    Property property2 = item2.Properties.Item("CustomTool");
                    if (property2.Value.Equals(string.Empty))
                    {
                        property2.Value = "ResXFileCodeGenerator";
                    }
                }
            }
        // ...
    }
    // ...
}


то есть, обходят только файлы находящиеся в корне проекта, не проваливаясь в папки.

Ни кто не знает почему это так реализованно. Чем не угодили resx файлы не из корня проекта.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.