【问题标题】:resolve assembly with name changed after build在构建后解析名称更改的程序集
【发布时间】:2017-07-28 15:08:23
【问题描述】:

我正在为另一个产品创建一个可执行的附加实用程序。我的可执行文件在原始产品中的类上运行(我在引用产品项目的同一个 VS 解决方案中构建我的工具)。因此,在项目中调试时,我的解决方案工作正常。但是,当我在已发布的产品中进行测试时,我的应用程序失败并出现错误 Cannot Load File or Assembly "product assembly name"。这样做的原因是在发布产品中运行了一个后期构建脚本,该脚本会更改产品文件名。在发布的产品目录中,如果我将产品文件名重命名为原始文件名,我的实用程序将起作用。因此,作为临时修复,我尝试的下一件事是创建文件的临时副本并重命名它,然后在我的实用程序脚本末尾删除它,但是文件随后被锁定并且在卸载 AppDomain 之前无法删除。我一直在寻找解决方案,但没有运气,因此欢迎提出任何想法。

【问题讨论】:

  • 如果你不介意我问,你为什么要重命名它?
  • 第一次正确构建...
  • 不幸的是,我对此无能为力,我没有创建原始产品。对我来说,理想情况下它不会被重命名。他们这样做是为了区分不同的产品类型(设计师与客户)
  • 听起来您必须手动加载/填充库...当程序集名称更改时您无能为力...
  • @DanielA.White 构建后脚本会更改文件名,但不会更改文件中的程序集名称。但是你的意思是我必须进行程序集加载并手动从加载的程序集中调用每个类?

标签: c# reference assemblies


【解决方案1】:

虽然我找不到引用整个程序集的方法,但我确实偶然发现了this code,这使得从我的程序集中加载方法变得非常容易。

【讨论】:

    猜你喜欢
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多