Visual Studio
The Visual Studio integrated development environment (IDE) is a collection of development tools exposed through a common user interface. Some of the tools are shared with other Visual Studio languages, and some, such as the C# compiler, are unique to Visual C#.
Solutions
In VisualStudio only solutions can be used. Each project (aka solution) need to have all necessary file to be build and openend in VisualStudio.
A new Project / Solution can be created at File
=> New
=> Project
Project Type | Description | Solution image |
---|---|---|
Blank App (Universal Windows) | A project for a single-page Universal Windows Platform (UWP) app that has no predefined controls or layout. Best if you know what you're doing. | |
WPF App (.NET Framework) | Classic graphical desktop application based on the .NET Framework. Also called Windows Presentation Foundation client application. | |
Console App (.NET Core) | New Console app based on the .NET Core. A project for creating a command-line application that can run on Windows, Linux, MacOS. (Doesn't creates an exe file). |
Console App (.NET Framework) | A project for creating a command-line application. This will only work on Windows and will create an exe directly.
- One Solution can contain many Projects
WPF App
A WPF App already has a predefined structure
Type | Element | Description | |
---|---|---|---|
Properties | AssemblyInfo.cs | AssemblyInfo.cs contains information about your assembly, like name, description, version, etc. If you delete it, your assembly will be compiled with no information. | |
Properties | Resources | This is a database like structure for storing resources needed in the program. This can be Files, Images, String Values, Text Files. | |
Properties | Settings | Application settings allow you to store and retrieve property settings and other information for your application dynamically. | |
References | Contains all necessary namespaces and third party libraries used in the Application. It is better to use NuGet packages found in the Project settings. | ||
App.config |
is an XML file with many predefined configuration sections available and support for custom configuration sections. A "configuration section" is a snippet of XML with a schema meant to store some type of information. | ||
App.xaml |
App.xaml also contains a .cs file. This is the main entry point launching the gui. |
||
MainWindow.xaml |
MainWindow.xaml also contains a .cs file. Each of these files represent a part of the GUI. |
In the Project Settings all above elements can be set in one single location
Console App (.NET Core)
Type | Description |
---|---|
Dependencies | List of all needed dependencies and third party libraries for the program |
Program.cs |
Main program C# file, one needs to contain the Main method as entry point of the program. |