Question

I have a winforms that gathers information from users and updates some SQL-Server tables.

I have a console which runs on a remote server and is scanning the same tables; given certain criteria in the tables this console completes several processes.

Currently the console and winforms do not need to talk to each other.

Should I place both projects in the same Solution or in two separate Solutions?

Was it helpful?

Solution

Use single solution. For more info you should read this (section Partitioning Solutions and Projects)

Advantages

The single solution model offers the following advantages:

  • When you need to reference another assembly generated by a separate project, you can use a project reference. Project references are the preferred way to establish references to other assemblies and they are guaranteed to work on all development workstations in a team environment. The many advantages of project references and guidance on when to use file references are discussed in Referencing Assemblies in Chapter 4, "Managing Dependencies."

  • Assembly versioning issues are avoided, because Visual Studio .NET detects when a client of a referenced assembly needs to be rebuilt.

  • Project references are sensitive to changes in the configuration of the referenced project. This means that you can automatically switch from Debug and Release builds across projects without having to reset references.

  • The system build process and build script is much simpler.

Disadvantages

You are advised to adopt the single solution model whenever possible. However:

  • The model scales only so far. If you want to work on a single project within the solution, you are forced to acquire all of the source code for all projects within the solution.

  • Even minor (nonbreaking) changes to a single source file within a single project can result in a rebuild of many projects within the solution, due to project dependencies. If an assembly's interface changes within a referenced project, you want the client project to be rebuilt. However, unnecessary rebuilds can be very time consuming, especially for solutions containing many projects.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top