You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置C#项目在TargetDir的langsupport子目录生成语言资源DLL

修改C#项目本地化资源DLL的输出路径

要把本地化资源DLL从默认的$(TargetDir)\[culture-code]\路径改到$(TargetDir)\langsupport\[culture-code]\,可以通过编辑项目的.csproj文件实现,分两种场景处理:

.NET Core/.NET 5+ 项目

直接在项目文件的<PropertyGroup>节点中添加以下配置:

<PropertyGroup>
  <!-- 可选:指定需要生成资源DLL的语言,多个用分号分隔,不写则包含所有resx对应的语言 -->
  <SatelliteResourceLanguages>es;zh-CN;fr</SatelliteResourceLanguages>
  <!-- 设置卫星资源程序集的输出根目录 -->
  <SatelliteAssemblyOutputPath>$(TargetDir)langsupport\</SatelliteAssemblyOutputPath>
</PropertyGroup>

配置后,编译时所有文化代码对应的资源DLL会直接生成到$(TargetDir)\langsupport\[culture-code]\路径下,无需额外移动操作。

.NET Framework 项目

如果是.NET Framework项目,可通过添加自定义MSBuild目标来移动生成后的资源DLL:

<Target Name="RelocateSatelliteAssemblies" AfterTargets="GenerateSatelliteAssemblies">
  <!-- 将默认位置的资源DLL移动到langsupport目录下 -->
  <Move 
    SourceFiles="@(SatelliteAssembly)" 
    DestinationFiles="@(SatelliteAssembly->'$(TargetDir)langsupport\%(Culture)\%(Filename)%(Extension)')"
    OverwriteReadOnlyFiles="true"
  />
</Target>

这个目标会在生成卫星资源程序集完成后,自动把文件从默认目录移动到指定的langsupport路径下。

验证配置

编译项目后,打开输出目录(即$(TargetDir)对应的路径),检查langsupport子目录下是否存在对应文化代码的文件夹,以及里面的MyTool.resources.dll文件是否正确生成。

内容的提问来源于stack exchange,提问作者videoguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:40:23