Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 查看VS2008中的当前程序集版本号_.net_Visual Studio 2008_Assemblies_Versioning - Fatal编程技术网

.net 查看VS2008中的当前程序集版本号

.net 查看VS2008中的当前程序集版本号,.net,visual-studio-2008,assemblies,versioning,.net,Visual Studio 2008,Assemblies,Versioning,我想知道是否有办法在VisualStudio2008IDE中查看最后完成的构建的程序集版本号。我不想看到程序集信息对话框或程序集信息文件中的1.0.*,而是完整版本(用实数替换*)。我也不希望必须显示项目的可执行文件或程序集的属性 Assembly.GetExecutingAssembly().FullName. 发件人: 简化的方法 Application.ProductName; Application.ProductVersion; 属性中的程序集信息框指向项目中的文件,通常称为Ass

我想知道是否有办法在VisualStudio2008IDE中查看最后完成的构建的程序集版本号。我不想看到程序集信息对话框或程序集信息文件中的1.0.*,而是完整版本(用实数替换*)。我也不希望必须显示项目的可执行文件或程序集的属性

Assembly.GetExecutingAssembly().FullName.
发件人:

简化的方法

Application.ProductName;
Application.ProductVersion;

属性中的程序集信息框指向项目中的文件,通常称为AssemblyInfo.cs(在属性文件夹中)。这就是设置版本的实际代码所在,浏览该文件可能比浏览设置更容易

编辑
现在我明白了。这是一个生成的数字,在我所知的任何情况下都不会通过VisualStudio公开

编辑2

如果您愿意依赖,您可以创建生成后事件或调用该程序集上的.NET方法以获取其版本…

好的,我想我现在更好地理解了您的问题,您想看看生成编号是多少,而不是实际生成。。。如中所示,当Visual Studio的设置为*时,它如何知道下一个数字是什么

如果您使用自动生成编号,假设您有1.0.*和VS生成一个值,例如1.0.3245.1234

自2000年1月1日起3245天

1234是午夜后的秒数,除以2

回答您的编辑问题:


在不执行程序集中的某些代码或检查文件属性的情况下,我能想到的唯一一件事就是生成生成代码,即生成某种类型的生成后事件,检查程序集的属性并弹出一个消息框来显示它,或者更好,在AssemblyInfo.cs文件的顶部写一条注释,注释的版本号为

,我建议对您的构建过程做一个小的更改,这样每次编译时,版本号都会显示在输出区域中。其实很简单:

右键单击项目并选择“卸载项目”。你所有的代码都会“消失”,但没有必要惊慌失措

再次右键单击它,然后选择“编辑…”。 这将以xml形式打开proj文件,现在您可以在
标记中添加这段代码

<Target Name="AfterBuild">
  <GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
    <Output TaskParameter="Assemblies" ItemName="MyAssemblyIdentities"/>
  </GetAssemblyIdentity>
  <Message Text="AssemblyVersion: %(MyAssemblyIdentities.Version)" 
    Importance="high" />
</Target>

保存并关闭文件。右键单击并选择“重新加载项目”。这将使项目恢复原状

编译后,您会注意到输出窗口中有一行新的文本:

组装版本=1.0.3518.36887

就这样


正是这一集的DnrTV,让我看到了MSBuild和所有你能做的酷东西。强烈推荐。:)

如果设置框中有星号,AssemblyInfo.cs中也有星号。我已经澄清了我的问题。我想要的是,能够在构建之后看到构建编号,并通过IDE这样做。
<Target Name="AfterBuild">
  <GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
    <Output TaskParameter="Assemblies" ItemName="MyAssemblyIdentities"/>
  </GetAssemblyIdentity>
  <Message Text="AssemblyVersion: %(MyAssemblyIdentities.Version)" 
    Importance="high" />
</Target>