views:

394

answers:

3

I need to migrate a .net solution from 1.1 to 3.5. The solution currently contains 2 CS projects 1) a Class Library and 2) a Web Service application.

Problem: I need to migrate the solution file and the Web Service application project, however I cannot migrate the Class Library as it is shared with another solution that will not be migrated !

As the Web Service application references the Class Library, I am thinking I would need to add a DLL reference to the class library bin directory. I do not like this idea too much.

The bin directory is currently not a part of version control. Would this mean I need to add the library dll to version control too. Again, I do not like this idea.

Is my approach correct? Is there a better way of doing this?

+1  A: 

You should create a Dependencies (it doesn't have to be called this) folder within your solution that contains any pre-compiled dlls you require. This should be included in your source control and your Web Service project should reference the compiled Class Library dll in the Dependencies folder.

Adam
+1  A: 

It sounds like you are on the right track. I would strong name and version your class library ( if it's not already). For the version I make the 4th place in the version the revision/changeset number. This way I can retrieve the source if need be.

In my projects I have a folder called "ThirdParty" where I store assemblies that I reference in the solution. This folder is outside of the solution structure so it does not impact any of the projects.

Chuck Conway
A: 

Option 1 - Develop your project that has to support .NET 1.1 seperatly from the web service. Create a folder under source control where you store dlls that your web service is dependant on. When you update the project, build it and save it in the dependancy folder. Remeber that using a .NET 1.1 assembly with .NET 3.5 is not ideal.

Option 2 - Include the project that has to support .NET 1.1 in both solutions that need it. When building it with the web service set it's target framework from the project properties to 3.5 and when using it where it has to support 1.1 set the target to 1.1.

How come you cannot upgrade your 1.1 application to 2.0 or 3.5? As if you could build the project as 2.0 in option 1 then there would be no bottleneck.

Stevo3000