如果我在Visual Studio 2008中设置C#DLL的程序集版本号,是否可以让编译后的二进制文件在文件名中自动包含此版本号?如果我手动重命名文件,引用它的项目会中断。这是为什么?文件名是否以某种方式映射到里面的程序集名称?
答案 0 :(得分:7)
程序集名称是文件的名称,对于没有强名称的程序集,它是CLR从磁盘加载程序集的唯一方法。更改程序集名称时,应用程序将无法再找到要加载的程序集,因此应用程序将失败。
至于在程序集名称中自动生成版本号,您将无法从Visual Studio执行此操作,但使用MSBuild构建脚本执行此操作并非不可能。我建议你不要这样做,因为版本信息已经存储在程序集的清单中,并且大多数人不会信任文件名中的版本号(因为这可能不准确),并且无论如何都会检查清单。