我的visual studio中有很多项目和DLL文件的解决方案, 如何在构建之前或之后更改解决方案中所有文件的版本,如dll和exe文件?
[
[
答案 0 :(得分:2)
我知道这是一个老问题,但这是一篇有关在具有多个程序集的解决方案中管理版本的精彩文章。
https://jonthysell.com/2017/01/10/automatically-generating-version-numbers-in-visual-studio/
它显示了三个用于在AssemblyInfo.cs文件中管理版本控制的选项。
我发现选项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/
答案 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文件已更新 自动
答案 3 :(得分:0)