Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Buid.. build.. rebuild..
Message
From
28/08/2010 12:41:12
 
 
To
28/08/2010 05:43:23
General information
Forum:
ASP.NET
Category:
Other
Miscellaneous
Thread ID:
01479016
Message ID:
01479046
Views:
53
>3) References... The process to remove references to the project and add it again take half work day :)))) (joke) but half joke
>Normally in the projects I have references to the DLL. (Exist possiblity to make a reference to another project but I don't use it.. because same project could be included to different solutions and then.. (half day to remove and add references again)

In all my project, I have Framework.dll, which is my own framework, that I have to add to the project references. So far, it was not a big job, as it only takes a few second. So, whenever I compile the Framework.dll project and go back into the foreign project and compile again, the foreign project will benefit from the new version of Framework.dll.

Recently, I had to build this fancy project. The project contains a main project, the one which is highlighted as bold, which is a Windows Service. The second project I added to the solution was the second Windows Service. The third project I added was a GUI interface. And, finally, the fourth project, is a Setup.exe, which needs all the other three projects included in the solution so it can build everything.

In that project, the main project contains a reference to Framework.dll. But, the other two projects (excluding the Setup.exe) contains a reference to the Framework.dll which is added to the main project. So, whenever I compile Framework.dll, I only have to compile the main project and all the other project will get the new version. This applies because I have defined the Configuration Manager to build all projects (except Setup.exe), whenever I compile. By default, they are not checked. So, if you check the additional project to be built everytime you build, then they will always be up to date.

So, basically, it looks like this:

1. d:\Visual Studio Projects\Framework\Bin
2. d:\Visual Studio Projects\New Project\Bin
3. d:\Visual Studio Projects\New Project\Sub Project 1
4. d:\Visual Studio Projects\New Project\Sub Project 2
5. d:\Visual Studio Projects\New Project\Setup project

1 is the Framework.dll
2 is the Windows Service project
3 is another Windows Service project
4 is a desktop project (GUI)
5 is the Setup.exe project

2 contains a reference to d:\Visual Studio Projects\Framework\Bin\Framework.dll (which goes in d:\Visual Studio Projects\New Project\Bin\Framework.dll
3 contains a reference to d:\Visual Studio Projects\New Project\Bin\Framework.dll (as per #2)
4 contains a reference to d:\Visual Studio Projects\New Project\Bin\Framework.dll (as per #2)

So, whenever I update the framework, I have to do this in order to obtain the new version in New Project:

1. Go in the Framework project, thus in d:\Visual Studio Projects\Framework and compile. At this point, d:\Visual Studio Projects\Framework\Bin now contains a new Framework.dll

2. In order for the New Project to benefit from the new framework, I go in d:\Visual Studio Projects\New Project and compile. No matter on which project I have the pointer on, this will update project 2, 3 and 4 with the new framework as a new copy of Framework.dll will be deposited in d:\Visual Studio Projects\New Project\Bin.

In d:\Visual Studio Projects\New Project\Bin, I have the following compile files:

1. Framework.dll
2. WindowsService1.exe (as defined as #2) in the list where I defined the 5 projects
3. WindowsService2.exe (as defined as #3) in the list where I defined the 5 projects
4. GUI.exe ( as defined as #4) in the list where I defined the 5 projects
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Reply
Map
View

Click here to load this message in the networking platform