如何在visual studio中更改所有文件的版本

时间:2015-11-18 14:37:42

标签: c# version assemblyinfo

我的visual studio中有很多项目和DLL文件的解决方案, 如何在构建之前或之后更改解决方案中所有文件的版本,如dll和exe文件?

[Solutions infos

[AssemblyInfo

4 个答案:

答案 0 :(得分:2)

我知道这是一个老问题,但这是一篇有关在具有多个程序集的解决方案中管理版本的精彩文章。

https://jonthysell.com/2017/01/10/automatically-generating-version-numbers-in-visual-studio/

它显示了三个用于在AssemblyInfo.cs文件中管理版本控制的选项。

  1. 使用内置的通配符运算符自动生成 内部版本号和发行版号,仍然需要手动更新 主要版本和次要版本。
  2. 使用第三方Visual Studio扩展程序。
  3. 使用模板文件(* .tt),该文件在的所有项目之间共享 定制如何基于以下方式生成数字的解决方案 无论是预览版还是正式版。

我发现选项3对我的应用程序最有用,并且最容易维护,因为您在所有程序集中共享一个文件,并且可以轻松地自定义数字以匹配您的特定情况。

答案 1 :(得分:1)

正如AssemblyInfo.cs中的评论指出的那样,如果你要改变:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

为:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]

程序集将在每次构建后获得新的构建号/修订版。

来自MSDN

  

您可以指定所有值,也可以使用星号()接受默认的内部版本号,修订号或两者。例如,[assembly:AssemblyVersion(“2.3.25.1”)]表示2为主要版本,3表示次要版本,25表示构建号,1表示版本号。诸如[assembly:AssemblyVersion(“1.2。”)]之类的版本号指定1作为主要版本,2指定为次要版本,并接受默认的构建和修订号。诸如[assembly:AssemblyVersion(“1.2.15。*”)]之类的版本号指定1作为主要版本,2作为次要版本,15作为构建号,并接受默认修订号。默认内部版本号每天递增。默认修订号是自当地时间午夜起的秒数(不考虑夏令时的时区调整)除以2。

共享装配信息教程:

http://theburningmonk.com/2010/03/net-tips-use-a-shared-assemblyinfo-cs-for-your-solution/

  1. 在解决方案的根目录下创建一个文件,比如SharedAssemblyInfo.cs,并将所有常用设置放在那里。
  2. 右键单击您的项目并添加现有项目...,浏览到SharedAssemblyInfo.cs,并确保选择Add As Link。

答案 2 :(得分:1)

可以通过编辑Assemblyinfo.cs文件来更改程序集信息,该文件可以在解决方案资源管理器中的项目属性下看到,在这里您可以更改程序集的版本

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("My App Title")]
[assembly: AssemblyDescription("App Description")]
[assembly: AssemblyCompany("My Company Name")]
[assembly: AssemblyProduct("ConsoleApp")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("My Company Trademark")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components.  If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("513436d3-aa2f-407b-83d2-9268300cc373")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 

//*******Assembly Version can be changed here*********
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

OR

  • 转到解决方案资源管理器
  • 右键单击您的项目
  • 选择属性
  • 在出现的窗口中单击“装配信息”
  • 在弹出框中,您可以编辑与装配相关的详细信息
  • 单击“确定”,可以看到您的AssemblyInfo.cs文件已更新 自动

    pop-up box where you can edit assembly related details

答案 3 :(得分:0)

这是一个适用于asp.net应用程序的简单解决方案。

转到项目属性 => 应用(标签)(请参见下图以供参考)


单击“程序集信息”,您将在其中找到程序集版本文件版本

enter image description here