Visual Studio资源生成 - 自定义工具命名空间

Joã*_*elo 10 .net visual-studio-2008 visual-studio

我有一个C#类库,其中包含组织在文件夹中的多个资源文件.因为我希望生成的类都在同一个命名空间中,所以我要设置每个资源文件的CustomToolNamespace属性.

但是我通过Reflector发现虽然这些类都是在同一名称空间中生成的,但嵌入式资源的路径包含放置资源文件的目录名.

例如,在FolderCustomNamespaceRes.resx放置在名为Folder的目录中的项目中.

删除了死的ImageShack链接

并且将FolderCustomNamespaceRes.resx的 CustomToolNamespace 设置为PublicResourcesTest,Reflector显示嵌入式资源程序集的路径是PublicResourcesTest.Folder .FolderCustomNamespaceRes.resources

删除了死的ImageShack链接

这是一个错误还是我错过了什么?

Joã*_*elo 7

经过一些搜索后,我发现可以通过在.cspproj文件中添加元数据来控制嵌入资源的清单名称.

之前你会有类似的东西:

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx">
   <Generator>PublicResXFileCodeGenerator</Generator>
   <LastGenOutput>FolderCustomNamespaceRes.Designer.cs</LastGenOutput>
   <CustomToolNamespace>PublicResourcesTest</CustomToolNamespace>
</EmbeddedResource>
Run Code Online (Sandbox Code Playgroud)

要控制清单名称,您必须添加:

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx">
   ....
   <LogicalName>$(RootNamespace).FolderCustomNamespaceRes.resources</LogicalName>
</EmbeddedResource>
Run Code Online (Sandbox Code Playgroud)