3
我需要以编程方式获取Windows服务的版本并将其存储在字符串中。然后,我将在ProjectInstaller类中将版本追加到我的显示名称和服务名称中。现在我得到一个空字符串,我无法调试我的安装项目。这里是我当前的代码:如何以编程方式获得Windows服务的版本信息
string version = null;
try
{
Assembly exeAssembly = Assembly.GetEntryAssembly();
Type attrType = typeof(AssemblyFileVersionAttribute);
object[] attributes = exeAssembly.GetCustomAttributes(attrType, false);
if (attributes.Length > 0)
{
AssemblyFileVersionAttribute verAttr = (AssemblyFileVersionAttribute)attributes[0];
if (verAttr != null)
{
version = verAttr.Version;
}
}
}
catch
{
}
if (version == null)
{
version = string.empty;
}
这个工作!如何保留前导零(即050000.01.01.00显示为50000.1.1.0)? – jmac 2010-06-11 13:24:14
如果您知道需要多少前导零,您可以使用'version.Major.ToString()。PadLeft(10,'0')+“。”之类的东西。 + version.Minor'等 – 2010-06-11 14:02:15
此外,如果这个答案对你有帮助,你会介意点击“向上箭头”投票吗?谢谢。 – 2010-06-11 14:03:12