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

重定向SideBySide程序集:能否将清单文件移至私有探测目录?

.NET SideBySide程序集移至私有探测目录的可行性

可以将指定的SideBySide程序集移至privatePath配置的子目录,但清单文件的存放需要注意特定规则,具体细节如下:

一、SideBySide程序集的迁移

  • 无论是托管还是非托管的SideBySide程序集,只要满足以下条件,CLR/系统就能通过私有探测路径找到它们:
    1. 应用清单中正确声明了对该程序集的依赖(包括版本、公钥标记、名称等信息),且与程序集本身的元数据完全匹配。
    2. 程序集文件(以及对应的清单文件,如果是非托管SxS程序集)直接放在privatePath指定的子目录中,或该目录的子层级下(需确保清单中的路径声明对应)。
  • 对于非托管SideBySide程序集,私有部署时无需全局注册,直接将程序集文件和其清单放在私有探测目录即可,系统会通过应用清单的声明定位到它们。

二、清单文件的存放

  • 应用清单(app.manifest):推荐将其嵌入到应用的可执行文件中(在项目属性的“应用”选项卡中配置),这种方式最可靠,无需额外处理路径问题。如果使用外部清单(即独立的[ExeName].exe.manifest文件),默认要求与可执行文件放在同一目录;若要移至私有探测目录,需通过手动修改激活上下文或使用mt.exe工具绑定清单路径,操作复杂且易出问题,不建议这么做。
  • SideBySide程序集的自身清单:如果是带有独立清单的非托管程序集,必须与程序集二进制文件放在同一目录(即私有探测目录内的同一位置),否则系统无法识别程序集的身份信息。

三、排查工具推荐

如果遇到程序集加载失败的问题,可以使用fuslogvw.exe(程序集绑定日志查看器)查看详细的加载路径和失败原因,该工具能帮助快速定位路径匹配、版本不兼容等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:57:11