Создание ресурсов Visual Studio - пространство имен пользовательских инструментов - PullRequest
10 голосов
/ 11 января 2010

У меня есть библиотека классов C #, которая содержит несколько файлов ресурсов, организованных в папки. Поскольку я хочу, чтобы сгенерированные классы находились в одном и том же пространстве имен, я устанавливаю свойство CustomToolNamespace для каждого файла ресурсов.

Однако через Reflector я обнаружил, что, хотя все классы генерируются в одном и том же пространстве имен, путь к встроенным ресурсам содержит имя каталога, в котором находится файл ресурса.

Например, в проекте, где FolderCustomNamespaceRes.resx находится в каталоге с именем Папка .

удалена мертвая ссылка ImageShack

И где CustomToolNamespace для FolderCustomNamespaceRes.resx имеет значение PublicResourcesTest, Reflector показывает, что путь к встроенной сборке ресурса - PublicResourcesTest. Папка .FolderCustomNamespaceRes.resources

удалена мертвая ссылка ImageShack

Это ошибка или я что-то упустил?

Ответы [ 2 ]

7 голосов
/ 15 января 2010

После некоторого поиска я обнаружил, что именем манифеста встроенного ресурса можно управлять путем добавления метаданных в файл .cspproj.

Прежде чем вы получите что-то вроде:

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx">
   <Generator>PublicResXFileCodeGenerator</Generator>
   <LastGenOutput>FolderCustomNamespaceRes.Designer.cs</LastGenOutput>
   <CustomToolNamespace>PublicResourcesTest</CustomToolNamespace>
</EmbeddedResource>

И для управления именем манифеста вы должны добавить:

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx">
   ....
   <LogicalName>$(RootNamespace).FolderCustomNamespaceRes.resources</LogicalName>
</EmbeddedResource>
0 голосов
/ 11 января 2010

Это делается автоматически в среде IDE, поэтому это не ошибка, но, к сожалению, единственным способом, которым вы можете подавить это поведение, является использование ReSharper, как указано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...