?
Solved

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

Posted on 2010-09-05
8
Medium Priority
?
646 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 75

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 800 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
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 
LVL 1

Assisted Solution

by:funazonki
funazonki earned 1200 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
 

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 1200 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

Automating Terraform w Jenkins & AWS CodeCommit

How to configure Jenkins and CodeCommit to allow users to easily create and destroy infrastructure using Terraform code.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
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 synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.
Suggested Courses

800 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