.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Assembly versioning strategies

Posted By:      Posted Date: September 16, 2010    Points: 0   Category :.NET Framework
Hi all, I tried once to see what folks are doing about version number strategies, and I guess I was too verbose (see http://social.msdn.microsoft.com/Forums/en/clr/thread/2c3e2bdb-f1ed-4702-af6f-c203e9642378). How to you manage versions in your assemblies?  What's the best practice, especially under source control?  I'd like to convey major.minor.revision, stage (Alpha, Beta, Milestone, Release Candidate, & Release) iteration within stage (Beta 1, Beta 2, RC 1, RC 2) build number (incremental number within stage's iteration) I am well aware that AssemblyVersionAttribute & AssemblyFileVersionAttribute use the convention major.minor.buildNumber.revision, which just doesn't seem to communicate much information to me without some associated cross reference from version to what kind of release it actually is. Your thoughts & opinions are appreciated. Thanks, Matthew PS:  See http://social.msdn.microsoft.com/Forums/en/clr/thread/2c3e2bdb-f1ed-4702-af6f-c203e9642378 for a long version of this question.

View Complete Post

More Related Resource Links

Assembly versioning best practice question wrt alpha, beta, etc

We'd like to employ some best practices with respect to versioning in our assemblies.  Since I'm coming from a Java+Maven+OSGi background, I'll share its way of doing versioning. Versioning in Java is arbitrary; there are no platform-dictated schemes.  However, for quite some time now, versions have the typical form major.minor.revision[.qualifier] where major & minor are pretty self-explanatory, revision is used to indicate very minor updates like bug fixes/hot fixes, etc, and qualifier is used at the publisher's convenience.  Almost always, the major, minor & revision elements are numeric values, but they don't have to be.  Ordering is as you might expect:  major versions are the most signficant element and are compared by the string's order unless their all numeric, in which case they're compared numerically, then minor, then revision, then qualifier, if present.  So, to give an example of the versioning scheme that a newly created library might go through, consider the following versions with descriptions: 1.0.0.A1 -- alpha 1 1.0.0.A2 -- alpha 2 1.0.0.B1 -- beta 1 1.0.0.M1 -- milestone 1 1.0.0.M2 -- milestone 2 1.0.0.RC1 -- release candidate 1 1.0.0.RC2 -- release candidate 2 1.0.0.RELEASE -- golden release to manufacturing, aka "official" release Notice that the version string for the version considered gol

SQL2008 - Assembly versioning: Two versions of assembly '...'. Keep one version and drop the other



If someone has a suggestion of how to handle .NET dll assembly versions in a SQL Server 2008 database I would be very happy if you could explain how to do it.

First some background though so you'll understand the situation I'm in.

I've created a SQLCLR stored procedure in .NET with some code doning calculations in the database. Now I need to update the code according to some new business rules. Unfortunately we don't have a test environment where I can upload the code and test it until it works. Therefore I would like make the changes necessary in the code and somehow change the version number of the dll and deploy that to the database while the old dll is still used in production.

I've heard of the workaround with strong/weak assembly names but I'm wondering if there's a real versioning method around yet.

And yes I know the "easiest" way would be to create a testenvironment and ahve the normal setup with test/production servers but I still would like to know if my original idea is possible in any way.

Kind regards


Error: Encountered multiple versions of the same assembly with GUID...try pre-importing...TlbImp


Hi!  Can someone tell me how I can troubleshoot the following error: "Encountered multiple versions of the same assembly with GUID...try pre-importing one of these assemblies".

The website developed in VS 2010 (.Net 3.5). This error is only received on my workstation.  Another person developing the site does not experience this issue at all.  Also, not sure if this matters, but on my workstation the 'Assembly Information...' dialog contains no values even though the 'AssemblyInfo.vb' file does specify values for the title, desc, etc.  The GUID being referenced in the error is the main project of the three projects within the solution.

I tried looking through the GAC, but do not see any references to the projects or DLLs in the VS solution and am not sure what else/where to look.

If I delete the copy of the solution on my local machine and pull down a copy from source control (AnkhSVN) the solution will build with no error.  Once I make any changes, such as adding a new aspx file, then the error is received.

I can provide any additional information needed.

The type 'System.Data.Linq.DataContext' is defined in an assembly that is not referenced. You must



This is frustrating, and I don't know how to solve it.

I have a strange problem. I am adding a LinqDatasource object, and set the context:

        protected void LinqDataSource_ContextCreating(object sender, LinqDataSourceContextEventArgs e)
            e.ObjectInstance = new KaruselaDataContext(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

Then I get this error:
The type 'System.Data.Linq.DataContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Linq, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089'.


On web.config I already have this:
<add assembly="System.Data.Linq, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

NOTE: The datacontext is in a different project (DLL proect) where I added a refernce to System.Data.Linq.

is there another way adding a refernce to a web project? or only though teh web.config?


MySql.Data assembly problem



I added refernece MySql.Data to my project. My web.config looks like that:

<?xml version="1.0"?>
                <add assembly="MySql.Data, Version=, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>

But when in ServerExplorer I try "Add Connection..." I can't find "MySql Database" in the "Choose Data Source" dialog box?

What the problem can be?

Registering controls of current assembly object reference NOT set error


Hi There,

I have created a simple ASP.net Web Application (2.0) and have added a web user control.

Now in my page I have added this control but I have registered like this,

<%@ Register Assembly="WebApplication1" Namespace="WebApplication1" TagPrefix="Custom" %>

Which means I want to access all the controls in my current Web Application project

Then I have added my user control like this,

<Custom:MyUserControl ID="MyUserControl1" runat="server" PublicProperty="Hello" />

Every thing is fine but when I execute the project, NO control on my user control gets "instantiated" and thus I receive error "Object Reference Not Set"

Note that My Control has,

1) Public property PublicProperty as String

2) 1 Label control

In Load Event Handler I am setting Text property of Label Control to PublicProperty. Here object reference NOT set error occurs (which means Label control is NOT initialized).

I don't want to register my control using Src, TagPrefix etc. Any ideas?


Could not load file or assembly - Web Deployment Project



I have the following projects in a solution :

- A Web Application

- A Class Library

- A Web Deployment project

The Web Application compiles and run fine when I don't go through the Web Deployment Project. However when I try to use that, I get the following error:

Error 1 An error occurred creating the configuration section handler for hibernate-configuration: Could not load file or assembly 'NHibernate' or one of its dependencies. The system cannot find the file specified. (F:\Folke\Folke.csproj_deploy\Release\web.config line 4) 1 1 Folke.csproj_deploy

"An error occurred creating the configuration section handler for hibernate-configuration: Could not load file or assembly 'NHibernate' or one of its dependencies. The system cannot find the file specified. (F:\Folke\Folke.csproj_deploy\Release\web.config line 4)"

This is the beginning of my Web.config:


CLR Inside Out: Migrating an APTCA Assembly to the .NET Framework 4


The CLR security model in the Microsoft .NET Framework 4 has undergone some substantial changes, including the adoption of "Level2" transparency, similar to the Silverlight security model. Mike Rousos provides an in-depth explanation of how that will likely impact authors of AllowPartiallyTrustedCallers (APTCA) libraries.

Mike Rousos

MSDN Magazine March 2010

Data Points: Data Performance and Fault Strategies in Silverlight 3


In this month's column, the author shows how binary encoding works, the effect it has on an application's performance, and how it behaves by demonstrating it in action.

John Papa

MSDN Magazine August 2009

Foundations: Versioning Workflows


Developers often struggle with versioning workflows and their related classes. Matt Milner discusses the core issues related to workflow versioning and provides recommendations for making changes to workflow definitions, activities, and workflow services.

Matthew Milner

MSDN Magazine May 2009

Usability in Practice: Strategies for Designing Application Navigation


Good navigation makes for happy users, and happy users are good for your business. See what makes users happy this month.

Dr. Charles B. Kreitzberg and Ambrose Little

MSDN Magazine March 2009

Performance: Scaling Strategies for ASP.NET Applications


Performance problems can creep into your Web app as it scales up, and when they do, you need to find the causes and the best strategies to address them.

Richard Campbell and Kent Alstad

MSDN Magazine April 2008

Test Run: Determining .NET Assembly and Method References


Before you can test any software system effectively, you must understand the system under test. If the system includes the Microsoft® . NET Framework, understanding the system under test includes understanding its assembly and method dependencies.

James McCaffrey

MSDN Magazine March 2006

Data Points: Data Access Strategies Using ADO.NET and SQL


When your goal is a scalable and efficient enterprise solution, you need to develop an efficient data-access strategy. You can't just do some testing on your production machines and rely on the results.

John Papa

MSDN Magazine May 2005

.NET Zero Deployment: Security and Versioning Models in the Windows Forms Engine Help You Create and


Windows Forms applications solve many of the problems inherent in building Web applications the old fashioned way?with HTML. To demonstrate the use of Windows Forms over the Web, the author takes his existing app, Wahoo!, and ports it to Windows Forms. In doing so, he discusses versioning, linked files, security, storage isolation, the deployment model, and everything else you need to get started building your own Windows Forms apps for the Web.

Chris Sells

MSDN Magazine July 2002

More Versioning Fun With Optional Arguments

In my last blog post , I covered some challenges with versioning methods that differ only by optional parameters. If you haven't read it, go read it. If I do say so myself, it's kind of interesting. ;) In this post, I want to cover another very subtle versioning issue with using optional parameters. At the very end of that last post, I made the following comment. By the way, you can add overloads that have additional required parameters. So in this way, you are in the same boat as before. However, this can lead to subtle bugs. Let's walk through a scenario. Imagine that some class library has the following method in version 1.0. public static void Foo( string s1, string s2, string s3 = "v1" ) { Console.WriteLine( "version 1"...(read more)
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend