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

Visual Studio 2019 C#项目找不到路径下Resources文件夹如何解决

解决方案

方法1:单文件/目录设置复制属性(最常用)

  • 如果resources文件夹没有显示在解决方案资源管理器中,先点击面板顶部的「显示所有文件」按钮,找到根目录下的resources文件夹,右键选择「包括在项目中」
  • 选中resources文件夹下所有需要随项目输出的文件(或直接选中整个resources文件夹),右键点击选择「属性」
  • 在属性面板中找到「复制到输出目录」选项,选择「如果较新则复制」
  • 重新编译项目后,完整的resources目录结构会自动同步到bin/Debug/net5.0输出目录下,你原本的资源加载代码不需要修改即可正常运行,更推荐将路径拼接逻辑替换为Path.Combine避免分隔符异常:
string FONT = Path.Combine(AppContext.BaseDirectory, @"resources\font\FreeSans.ttf");

方法2:批量配置项目文件自动复制

如果资源文件数量多,逐个设置属性麻烦,可以直接编辑项目配置批量生效:

  • 右键点击项目名称,选择「编辑项目文件」
  • 在<Project>根节点内添加如下配置:
<ItemGroup>
  <None Update="resources\**\*">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>
  • 保存项目文件后重新编译,resources目录下所有文件都会自动复制到输出目录,且保留原有层级结构。

方法3:直接读取项目根目录资源(仅本地调试可用)

如果不需要把资源复制到输出目录,仅本地调试阶段使用,可以修改路径逻辑回退到项目根目录读取:

// 从输出目录bin/Debug/net5.0/回退3级到项目根目录
string projectRoot = Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, @"..\..\..\"));
string FONT = Path.Combine(projectRoot, @"resources\font\FreeSans.ttf");

注意:该方法仅适用于本地开发调试,不要在发布版本中使用,发布后不存在项目根目录结构,会直接触发路径找不到异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:39:01