Reset Version # of Assemblies in Solution with many project

S

sippyuconn

Hi

Have a solution of 70 project - is there a way thru a macro or commandline
argument to rest all the projects (assemblies) to the same assembley version
# - so when code released we can track what version customers have

We are calling MSBuild thru a Continuous Integration process

Thanks
 
I

Ignacio Machin ( .NET/ C# MVP )

Hi

Have a solution of 70 project - is there a way thru a macro or commandline
argument to rest all the projects (assemblies) to the same assembley version
# - so when code released we can track what version customers have

We are calling MSBuild thru a Continuous Integration process

Thanks

Hi,

I do not think so, the version is set in the assemblyinfo.cs file
found in the Property folders. With that info all you need to do is
read this file, parse it and make the change. You can write a macro
for doing this (or search for a macro that does something similar and
adapt it).
 
J

Jono

Hi

Have a solution of 70 project - is there a way thru a macro or commandline
argument to rest all the projects (assemblies) to the same assembley version
# - so when code released we can track what version customers have

We are calling MSBuild thru a Continuous Integration process

Thanks

Assuming you're using C# (but this should work with a bunch of
other .NET languages too)...

This is quite a useful thing I've done for a few clients: we create a
separate file called VersionInfo.cs, in which we declare only the
AssemblyVersionAttribute attribute. This file is then included in a
bunch of different projects within the same solution as a linked file
(choose Add Existing Item -> Add As Link). This version number can now
be edited in one place. We also have to remove all the
AssemblyVersionAttribute attributes from the AssemblyInfo.cs files
otherwise the compiler will complain there are duplicate versions.

If you want to explore writing custom tasks for your continuous
integration server you might even be able to automatically generate
the a new VersionInfo.cs file for each build so that you don't ever
worry about having to manually increment the version number, but
that's up to you.

HTH

Jono
 
I

Ignacio Machin ( .NET/ C# MVP )

Assuming you're using C# (but this should work with a bunch of
other .NET languages too)...

This is quite a useful thing I've done for a few clients: we create a
separate file called VersionInfo.cs, in which we declare only the
AssemblyVersionAttribute attribute. This file is then included in a
bunch of different projects within the same solution as a linked file
(choose Add Existing Item -> Add As Link). This version number can now
be edited in one place. We also have to remove all the
AssemblyVersionAttribute attributes from the AssemblyInfo.cs files
otherwise the compiler will complain there are duplicate versions.

Interesting idea , I had never though about it before :) .
Most probably though is that you will need to declare some project
specific values in a separate field, like AssemblyTitle, Guid, etc
 
J

Jie Wang [MSFT]

Hi,

If you want to use Visual Studio Macro to reset all the projects'
AssemblyVersion properties, you may use the following Visual Studio Macro
to have the task done:

Sub ResetAsmVersions()
Dim asmVer As String = InputBox("Please input the new AssemblyVersion
value here (like 1.0.0.0):", _
"Apply new AssemblyVersion").Trim()

If Not String.IsNullOrEmpty(asmVer) Then
For Each prj As Project In DTE.Solution.Projects
prj.Properties.Item("AssemblyVersion").Value = asmVer
Next
End If
End Sub

The basic idea is to loop through current solution's projects, and set each
of them's AssemblyVersion property to the desired value.

You might need to make some adjustments to this macro so it meets your
requirements.

If you have any further questions regarding this topic, please let me know.

Best regards,

Jie Wang

Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

Note: MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 2 business days is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions. Issues of this
nature are best handled working with a dedicated Microsoft Support Engineer
by contacting Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 
J

Jie Wang [MSFT]

Hi,

Haven't heard back from you for a few days, how's going with the projects?

Can this problem be solved by Jono's solution or my solution?

If any further assistance is needed, please let me know.

Thanks,

Jie Wang

Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

Note: MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 2 business days is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions. Issues of this
nature are best handled working with a dedicated Microsoft Support Engineer
by contacting Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top