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

时间:2010-01-06 15:22:36

标签: c# deployment version

我在visual studio 2008中有一个部署项目,可以安装几个C#项目。除此之外,我希望将项目汇编版本编写到注册表中。

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

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

谢谢。

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

1 个答案:

答案 0 :(得分:6)

这应该有效:

 Assembly.GetExecutingAssembly().GetName().Version.ToString();

确保从每个Projects主程序集中调用它。

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

编辑:

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

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