2009-10-19 58 views
3

如果我在Visual Studio 2008中为C#DLL设置程序集版本号,是否可以让编译后的二进制文件自动在文件名中包含此版本号?如果我手动重命名文件,引用它的项目会中断。这是为什么?文件名不知何故映射到内部的程序集名称?在Visual Studio中自动包含文件名中的DLL版本号

回答

6

程序集名称是文件的名称,对于没有强名称的程序集,它是CLR从磁盘加载程序集的唯一方式。当您更改程序集名称时,应用程序不能再找到要加载的程序集,因此应用程序失败。

至于自动生成程序集名称中的版本号,您将无法从Visual Studio中执行此操作,但使用MSBuild构建脚本执行此操作并非不可能。我建议你不要这样做,因为版本信息已经存储在程序集的清单中,大多数人不会信任文件名中的版本号(因为这可能不准确),并且无论如何都会检查清单。

相关问题