Skip to content

Commit 0bef926

Browse files
authored
Merge pull request #3187 from gewarren/binding
Add reference info for binding redirects checkbox
2 parents 393cf1e + a41855a commit 0bef926

File tree

2 files changed

+89
-62
lines changed

2 files changed

+89
-62
lines changed
Lines changed: 59 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Application Page, Project Designer (C#)
3-
ms.date: 11/04/2016
2+
title: Application page of C# project properties
3+
ms.date: 10/30/2018
44
ms.prod: visual-studio-dev15
55
ms.technology: vs-ide-general
66
ms.topic: reference
@@ -20,76 +20,95 @@ ms.workload:
2020

2121
Use the **Application** page of the **Project Designer** to specify the project's application settings and properties.
2222

23-
To access the **Application** page, choose a project node (not the **Solution** node) in **Solution Explorer**. Then choose **Project**, **Properties** on the menu bar. When the Project Designer appears, click the **Application** tab.
23+
To access the **Application** page, choose a project node (not the **Solution** node) in **Solution Explorer**. Then choose **Project** > **Properties** on the menu bar. When the **Project Designer** appears, click the **Application** tab.
2424

2525
[!INCLUDE[note_settings_general](../../data-tools/includes/note_settings_general_md.md)]
2626

2727
## General Application Settings
28-
The following options enable you to configure general settings for the application.
2928

30-
**Assembly name**
31-
Specifies the name of the output file that will hold the assembly manifest. Changing this property will also change the **Output Name** property. You can also make this change from the command line by using [/out (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/out-compiler-option). To access this property programmatically, see <xref:VSLangProj.ProjectProperties.AssemblyName%2A>.
29+
The following options enable you to configure general settings for the application.
3230

33-
**Default namespace**
34-
Specifies the base namespace for files added to the project.
31+
**Assembly name**
3532

36-
See [namespace](/dotnet/csharp/language-reference/keywords/namespace) for more information about creating namespaces in your code.
33+
Specifies the name of the output file that will hold the assembly manifest. Changing this property also changes the **Output Name** property.
3734

38-
To access this property programmatically, see <xref:VSLangProj.ProjectProperties.RootNamespace%2A>.
35+
You can also make this change from the command line by using [/out (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/out-compiler-option).
3936

40-
**Target Framework**
41-
Specifies the version of the .NET Framework that the application targets. This option can have different values depending on which versions of the .NET Framework are installed on your computer.
37+
To access this property programmatically, see <xref:VSLangProj.ProjectProperties.AssemblyName%2A>.
4238

43-
By default, the value is the same as the target framework that you selected in the **New Project** dialog box.
39+
**Default namespace**
4440

45-
> [!NOTE]
46-
> The prerequisite packages listed in the [Prerequisites Dialog Box](../../ide/reference/prerequisites-dialog-box.md) are set automatically the first time that you open the dialog box. If you subsequently change the project's target framework, you will have to select the prerequisites manually to match the new target framework.
41+
Specifies the base namespace for files added to the project.
4742

43+
See [namespace](/dotnet/csharp/language-reference/keywords/namespace) for more information about creating namespaces in your code.
4844

49-
For more information, see [How to: Target a Version of the .NET Framework](../../ide/how-to-target-a-version-of-the-dotnet-framework.md) and [Visual Studio Multi-Targeting Overview](../../ide/visual-studio-multi-targeting-overview.md).
45+
To access this property programmatically, see <xref:VSLangProj.ProjectProperties.RootNamespace%2A>.
5046

51-
**Application type**
52-
Specifies the type of application to build. For Windows 8.x apps, you can specify **Windows Store App**, **Class Library**, or **WinMD File**. For most other application types, you can specify **Windows Application**, **Console Application**, **Class Library**, **Windows Service**, or **Web Control Library**.
47+
**Target Framework**
5348

54-
For a web application project, you must specify **Class Library**.
49+
Specifies the version of the .NET Framework that the application targets. This option can have different values depending on which versions of the .NET Framework are installed on your computer.
5550

56-
If you specify the **WinMD File** option, types can be projected into any Windows Runtime programming language. By packaging the project's output as a WinMD file, you can code an application in multiple languages and have code interoperate as if you wrote it all in the same language. You can specify this option for solutions that target the Windows Runtime libraries, including [!INCLUDE[win8_appname_long](../../debugger/includes/win8_appname_long_md.md)] apps. For more information, see [Creating Windows Runtime Components in C# and Visual Basic](/windows/uwp/winrt-components/creating-windows-runtime-components-in-csharp-and-visual-basic).
51+
By default, the value is the same as the target framework that you selected in the **New Project** dialog box.
5752

5853
> [!NOTE]
59-
> The Windows Runtime can project types so that they appear as native objects in whichever language uses them. For example, JavaScript applications that interact with Windows Runtime use it as a set of JavaScript objects, and C# applications use the library as a collection of .NET objects. By packaging the project's output as a WinMD file, you can take advantage of the same technology that Windows Runtime uses.
54+
> The prerequisite packages listed in the [Prerequisites Dialog Box](../../ide/reference/prerequisites-dialog-box.md) are set automatically the first time that you open the dialog box. If you subsequently change the project's target framework, you must select the prerequisites manually to match the new target framework.
55+
56+
For more information, see [How to: Target a Version of the .NET Framework](../../ide/how-to-target-a-version-of-the-dotnet-framework.md) and [Visual Studio Multi-Targeting Overview](../../ide/visual-studio-multi-targeting-overview.md).
57+
58+
**Output type**
59+
60+
Specifies the type of application to build. The values are different depending on the project type. For example, for a **Console App** project, you can specify **Windows Application**, **Console Application**, or **Class Library** as the output type.
61+
62+
For a web application project, you must specify **Class Library**.
63+
64+
For more information about the **Output type** property, see [/target (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/target-compiler-option).
65+
66+
For information about how to access this property programmatically, see <xref:VSLangProj.ProjectProperties.OutputType%2A>.
67+
68+
**Auto-generate binding redirects**
6069

70+
Binding redirects are added to your project if your app or its components reference more than one version of the same assembly. If you want to manually define binding redirects in the project file, deselect **Auto-generate binding redirects**. This checkbox was introduced in Visual Studio 2017 version 15.7.
6171

62-
For more information about the **Application type** property, see [/target (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/target-compiler-option). For information about how to access this property programmatically, see <xref:VSLangProj.ProjectProperties.OutputType%2A>.
72+
For more information about redirection, see [Redirecting assembly versions](/dotnet/framework/configure-apps/redirect-assembly-versions).
6373

64-
**Assembly Information**
65-
Clicking this button displays the [Assembly Information Dialog Box](../../ide/reference/assembly-information-dialog-box.md).
74+
**Startup object**
6675

67-
**Startup object**
68-
Defines the entry point to be called when the application loads. Generally this is set either to the main form in your application or to the `Main` procedure that should run when the application starts. Because class libraries do not have an entry point, their only option for this property is **(Not Set)**.
76+
Defines the entry point to be called when the application loads. Generally this is set either to the main form in your application or to the `Main` procedure that should run when the application starts. Because class libraries do not have an entry point, their only option for this property is **(Not set)**.
6977

70-
By default, in a WPF Browser Application project, this option is **(Not set)**. The other option is *Projectname*.App. In this kind of project, you have to set the startup URI to load a UI resource when the application starts. To do this, open the Application.xaml file in your project and set the `StartupUri` property to a .xaml file in your project, such as Window1.xaml. For a list of acceptable root elements, see <xref:System.Windows.Application.StartupUri%2A>. You also have to define a `public static void Main()` method in a class in the project. This class will appear in the **Startup object** list as *ProjectName.ClassName*. You can then select the class as the startup object.
78+
By default, in a WPF app project, this option is set to **(Not set)**. The other option is \[projectname].App. In a WPF project, you must set the startup URI to load a UI resource when the application starts. To do this, open the *Application.xaml* file in your project and set the `StartupUri` property to a *.xaml* file in your project, such as *Window1.xaml*. For a list of acceptable root elements, see <xref:System.Windows.Application.StartupUri%2A>. You must also define a `public static void Main()` method in a class in the project. This class will appear in the **Startup object** list as *ProjectName.ClassName*. You can then select the class as the startup object.
7179

72-
See [/main (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/main-compiler-option) for more information. To access this property programmatically, see <xref:VSLangProj.ProjectProperties.StartupObject%2A>.
80+
See [/main (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/main-compiler-option) for more information. To access this property programmatically, see <xref:VSLangProj.ProjectProperties.StartupObject%2A>.
81+
82+
**Assembly Information**
83+
84+
This button opens the [Assembly Information](../../ide/reference/assembly-information-dialog-box.md) dialog box.
7385

7486
## Resources
75-
The following options enable you to configure general settings for the application.
7687

77-
**Icon and manifest**
78-
By default, this radio button is selected and the **Icon** and **Manifest** options are enabled. This enables you to select your own icon, or to select different manifest generation options. Leave this radio button selected unless you are providing a resource file for the project.
88+
The **Resources** options help you configure resource settings for your app.
89+
90+
**Icon and manifest**
91+
92+
By default, this radio button is selected and the **Icon** and **Manifest** options are enabled. This enables you to select your own icon, or to select different manifest generation options. Leave this radio button selected unless you're providing a resource file for the project.
93+
94+
**Icon**
95+
96+
Sets the *.ico* file that you want to use as your program icon. Click **Browse** to browse for an existing graphic, or type the name of the file that you want. See [/win32icon (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/win32icon-compiler-option) for more information.
97+
98+
To access this property programmatically, see <xref:VSLangProj.ProjectProperties.ApplicationIcon%2A>.
99+
100+
**Manifest**
79101

80-
**Icon**
81-
Sets the .ico file that you want to use as your program icon. Click the ellipsis button to browse for an existing graphic, or type the name of the file that you want. See [/win32icon (C# Compiler Options)](/dotnet/csharp/language-reference/compiler-options/win32icon-compiler-option) for more information. To access this property programmatically, see <xref:VSLangProj.ProjectProperties.ApplicationIcon%2A>.
102+
Selects a manifest generation option when the application runs on Windows Vista under User Account Control (UAC). This option can have the following values:
82103

83-
**Manifest**
84-
Selects a manifest generation option when the application runs on Windows Vista under User Account Control (UAC). This option can have the following values:
104+
- **Embed manifest with default settings**. Supports the typical manner in which Visual Studio operates on Windows Vista, which is to embed security information in the application's executable file, specifying that `requestedExecutionLevel` be `AsInvoker`. This is the default option.
85105

86-
- **Embed manifest with default settings**. Supports the typical manner in which Visual Studio operates on Windows Vista, which is to embed security information in the application's executable file, specifying that `requestedExecutionLevel` be `AsInvoker`. This is the default option.
106+
- **Create application without a manifest**. This method is known as *virtualization*. Use this option for compatibility with earlier applications.
87107

88-
- **Create application without a manifest**. This method is known as *virtualization*. Use this option for compatibility with earlier applications.
108+
- **Properties\app.manifest**. This option is required for applications deployed by ClickOnce or Registration-Free COM. If you publish an application by using ClickOnce deployment, **Manifest** is automatically set to this option.
89109

90-
- **Properties\app.manifest**. This option is required for applications deployed by ClickOnce or Registration-Free COM. If you publish an application by using ClickOnce deployment, **Manifest** is automatically set to this option.
110+
**Resource file**
91111

92-
**Resource File**
93-
Select this radio button when you are providing a resource file for the project. Selecting this option disables the **Icon** and **Manifest** options.
112+
Select this radio button when you're providing a resource file for the project. Selecting this option disables the **Icon** and **Manifest** options.
94113

95114
Enter a path name or use the Browse button (**...**) to add a Win32 resource file to the project.

0 commit comments

Comments
 (0)