代码之家  ›  专栏  ›  技术社区  ›  João Angelo

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

  •  10
  • João Angelo  · 技术社区  · 15 年前

    我有一个C类库,它包含几个文件夹中组织的资源文件。因为我希望生成的类都在同一个名称空间中,所以要设置每个资源文件的customtoolnamespace属性。

    但是,我通过Reflector发现,尽管类都是在同一个名称空间中生成的,但是到嵌入资源的路径包含放置资源文件的目录名。

    例如,在一个项目中, 文件夹自定义名称空间res.resx 位于名为 文件夹 .

    删除了死图像链接

    以及自定义工具命名空间的位置 文件夹自定义名称空间res.resx 设置为publicResourcesTest,Reflector显示嵌入资源程序集的路径为publicResourcesTest。 文件夹 .folderCustomNamespaceRes.resources.

    删除了死图像链接

    这是虫子还是我丢了什么东西?

    2 回复  |  直到 9 年前
        1
  •  7
  •   João Angelo    15 年前

    经过一些搜索,我发现嵌入资源的清单名称可以通过在 .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>
    
        2
  •  0
  •   lee-m Shahriar N Khondokar    15 年前

    这是由IDE自动完成的,因此它不是一个bug,但不幸的是,唯一可以抑制这种行为的方法是使用如前所述的Resharper。 here .