如何在Visual Studio 2008部署项目中获取项目的汇编版本

Dav*_*jak 4 c# deployment version

我在visual studio 2008中有一个部署项目,它安装了几个C#项目.除其他外,我希望它将项目汇编版本写入注册表.

有没有办法自动找出项目汇编版本(用AssemblyInfo.cs编写)并将其写为注册表属性的值?

如果没有,有没有办法比手工更好地做到这一点?重要的是这些值是正确的,因为我们的更新软件使用它们.

谢谢.

编辑:我不确定我的问题是否完全清楚.我不想得到这个数字并将其存储到字符串中.我想用Deployment Projects注册表编辑器将它写入注册表(不确定这是否是官方名称,您可以通过右键单击解决方案资源管理器中的部署项目并导航到View-> Registry来实现它)

Hen*_*man 6

这应该工作:

 Assembly.GetExecutingAssembly().GetName().Version.ToString();
Run Code Online (Sandbox Code Playgroud)

确保从每个Projects主程序集调用此方法.

GetName方法返回一个AssemblyName对象,该对象也包含其他有用信息.

编辑:

您可以使程序集自行注册,这需要运行一次以更新注册表.

如果这是不可接受的,可以编写一个插件用于安装(和/或运行一个单独的程序).从该代码中,您需要获取正在安装的程序集的文件名.