我在一个文件夹中有一个应用程序 exe 和 3 个引用的程序集。在 VS2010、CLR 4.0 中编译。
我想修改所有 4 个程序集的版本以匹配 (1.0.0.0),并修改每个程序集中的引用部分以匹配新版本号。
在应用程序已经在 IDE 之外构建之后,这是否可能?
编辑:
场景是这样的:我们的 dll 通常安装在特定版本的 GAC 中。版本仅在发布商业产品时递增。我们有许多自己编写的开发工具,这些工具使用了安装在 GAC 中的一些 dll。这些工具是在某个时刻构建的,而不是在代码更改时重建的。 CLR 更喜欢从 GAC 加载程序集而不是本地程序集,因此很多时候我们的工具不使用它们构建时使用的程序集。这是一个大问题,我看不出如何解决它。
最佳答案
使用Reflector及其插件 Reflexil ;当然,如果程序集已签名,它们将不再一起工作(实际上我认为它们根本不会工作?)。否则你甚至不需要修改我认为的引用。
编辑:另外,Marc 是绝对正确的;无法想象什么情况下绝对需要您这样做,这很 hackish。
关于c# - 修改程序集版本和引用 (.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3749874/