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

如何正确在项目中引入文件目录 使其打包部署后可被代码正常引用

路径引用逻辑说明

你写的路径获取代码逻辑本身没有问题:Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) 取的是当前程序集运行时的实际所在目录,拼接资源目录名的写法符合预期。运行时找不到文件的核心原因是**GrammarDictResources 目录及内部文件没有被自动复制到编译输出目录**,和路径写法无关。

文件属性设置说明

给文件设置对应生成属性是必要步骤,Visual Studio 默认仅会将标记为「内容」且配置了复制规则的文件输出到编译目录、包含到部署包中。批量设置有两种可行方案:

方案1:解决方案管理器批量操作

  1. 在解决方案资源管理器中选中 GrammarDictResources 根文件夹
  2. 点击资源管理器顶部的搜索框,输入*,将搜索范围限定为当前文件夹,即可列出目录下所有嵌套的子文件
  3. 按Ctrl+A全选所有文件,右键点击选择「属性」
  4. 在属性面板中统一设置两项:
    • 生成操作:选择「内容」
    • 复制到输出目录:选择「如果较新则复制」(或「始终复制」,按需选择即可)

方案2:直接修改项目文件(更高效)

直接编辑项目的.csproj文件,添加如下配置即可一次性递归包含该目录下所有文件,自动保留目录结构并配置复制规则:

<ItemGroup>
  <Content Include="GrammarDictResources\**\*">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>

配置完成后重新编译,即可在输出目录下看到完整的GrammarDictResources目录结构,你的原路径读取代码即可正常工作,调试、发布部署后都能正常读取到文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:24:10