Solved

C# Development process question; multiple app files (visual studio)

Posted on 2010-09-05
8
640 Views
Last Modified: 2013-12-17
This is more of a process question in relation to deploying an app.

I created the main app file that runs from a command prompt.  I'd like to add in a couple of more application files to the overall product incluing an interface component.  I don't see an obvious way to add additional programs into the C# interface to compile multiple targets from one project.  What is the process for doing this?  Do I create a project for each application component?

Thanks much.
0
Comment
Question by:sej69
8 Comments
 
LVL 74

Expert Comment

by:käµfm³d 👽
ID: 33607048
Yes. For a common design goal, you should have one solution file with one or many projects. Once you have a finished solution, you can choose (Re)Build Solution from the Build menu to build all the projects at one time.
0
 
LVL 8

Expert Comment

by:Gururaj Badam
ID: 33607103
You can write your MSBuild script to build your application as you wish to
0
 
LVL 18

Assisted Solution

by:Richard Lee
Richard Lee earned 200 total points
ID: 33610294
A simpler and the most common design used for this scenario is:

1. The core of your application (core functionality) should be isolated in its own Class Library. For example if the console application wanted to start the process it would create an object of say CoreFunc and it would say call the method CoreFunc.Run().

2. Create As many project as need for your different user interfaces (console, winforms, wpf, silverlight, windows service, web service, etc). These projects are all part of the one solution.

Each project will compile unless otherwise told not to & installers can be created or simply deployed from visual studio.

DaTribe
   
0
 
LVL 1

Assisted Solution

by:funazonki
funazonki earned 300 total points
ID: 33611619
If this is really an install question, presumably what you're concerned about is how do you package and deliver the app. Two obvious choices:

1. Use the project Publish menu option. You can get to this by right clicking on the project for your command line app - it should show as one of the menu options in the build-rebuild-clean section of the menu. Publish lets you build a setup app that wll deploy everything you need in the usual way.
2. If you have special requirements (setup directories, include other apps etc) You can add a setup project to your solution and then add the commandline app to the setup project.
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:sej69
ID: 33611916
I've been playing around with the publish menu but I can't seem to get a good publish so I'm not understanding something completely...

In the project I have 2 command line programs and a user interface.  With the program I want to distribute a .SQL file and a few other misc. files.

I've selected CDROM for deployment and it says it successfully created the deployment.

However, I copied that folder to my test box to install it then run the setup.exe that was created.  The program just runs; it doesn't install.  I see the config file but it's in pre-run form.[appname].exe.config.deploy.  It also seems to want to have all my build directories to go along with it in the "Application Files" folder called [appname]_1_0_0_0, [appname]_1_0_0_1, etc...
0
 
LVL 1

Accepted Solution

by:
funazonki earned 300 total points
ID: 33612051
If you have two apps you want to install, publish probably won't do it. Try right click on the solution, Add|New Project. In the dialogue that pops up expand Other Project Types in the tree view thing on the left, select Setup and Deployment. Select Setup Project. Once you have the new project, drag and drop just the executables to your setup project (it should figure out what dlls you need). If you want to add other files like .sql files, drag and drop those to the setup project as well.

When you build it, it should give you an msi that you can run in the normal way.
0
 

Author Comment

by:sej69
ID: 33612209
Ok, I think I see what's going on...  However I'm using the Express version to see if I like this language and the Express version does not come with the setup wizard project type.  I guess I'll have to bite the bullet and buy the full blown version. THanks!
0
 

Author Closing Comment

by:sej69
ID: 33612226
Thanks; the language is easy to learn but some of the required concepts are not easily found out there.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now