|
1 | 1 | --- |
2 | 2 | title: ".NET programming with C++/CLI" |
3 | 3 | description: "Learn how to use C++/CLI to create .NET apps and components in Visual Studio." |
4 | | -ms.date: 10/28/2021 |
| 4 | +ms.date: 05/02/2025 |
5 | 5 | helpviewer_keywords: ["programming [C++], .NET programming", ".NET Framework [C++]", ".NET applications [C++]", "Visual C++, .NET programming"] |
6 | 6 | --- |
7 | 7 | # .NET programming with C++/CLI |
8 | 8 |
|
| 9 | +C++/CLI supplanted Managed C++. It is a language specification created by Microsoft that extends C++ to support the .NET framework. It's only supported on Windows. It's not for writing WinUI or UWP Windows Runtime (WinRT) apps. It's for writing .NET applications and components that run on the .NET framework. C++/CLI is a bridge between native C++ code and managed code. It allows you to use existing C++ libraries in .NET applications and to write new .NET applications in C++. |
| 10 | + |
| 11 | +For writing WinUI and WinRT apps, Microsoft has released C++/WinRT: an entirely standard modern C++17 language projection for Windows Runtime (WinRT) APIs. For more information about using C++ with the Windows Runtime (WinRT), see [C++/WinRT](/windows/uwp/cpp-and-winrt-apis/). |
| 12 | + |
9 | 13 | ::: moniker range="msvc-140" |
10 | 14 |
|
11 | 15 | By default, CLR projects created with Visual Studio 2015 target .NET Framework 4.5.2. You can target .NET Framework 4.6 when you create a new project. In the **New Project** dialog, change the target framework in the dropdown at the top middle of the dialog. To change the target framework for an existing project, close the project, edit the project file (*`.vcxproj`*), and change the value of the Target Framework Version to 4.6. The changes take effect the next time you open the project. |
@@ -41,40 +45,23 @@ C++/CLI itself isn't installed by default when you install a Visual Studio C++ w |
41 | 45 |
|
42 | 46 | ## In this section |
43 | 47 |
|
44 | | -[C++/CLI tasks](../dotnet/cpp-cli-tasks.md) |
45 | | - |
46 | | -[Native and .NET interoperability](../dotnet/native-and-dotnet-interoperability.md) |
47 | | - |
48 | | -[Pure and verifiable code (C++/CLI)](../dotnet/pure-and-verifiable-code-cpp-cli.md) |
49 | | - |
50 | | -[Regular expressions (C++/CLI)](../dotnet/regular-expressions-cpp-cli.md) |
51 | | - |
52 | | -[File handling and I/O (C++/CLI)](../dotnet/file-handling-and-i-o-cpp-cli.md) |
53 | | - |
54 | | -[Graphics operations (C++/CLI)](../dotnet/graphics-operations-cpp-cli.md) |
55 | | - |
56 | | -[Windows operations (C++/CLI)](../dotnet/windows-operations-cpp-cli.md) |
57 | | - |
58 | | -[Data access using ADO.NET (C++/CLI)](../dotnet/data-access-using-adonet-cpp-cli.md) |
59 | | - |
60 | | -[Interoperability with other .NET languages (C++/CLI)](../dotnet/interoperability-with-other-dotnet-languages-cpp-cli.md) |
61 | | - |
62 | | -[Serialization (C++/CLI)](../dotnet/serialization-cpp-cli.md) |
63 | | - |
64 | | -[Managed types (C++/CLI)](../dotnet/managed-types-cpp-cli.md) |
65 | | - |
66 | | -[Reflection (C++/CLI)](../dotnet/reflection-cpp-cli.md) |
67 | | - |
68 | | -[Strong Name assemblies (assembly signing) (C++/CLI)](../dotnet/strong-name-assemblies-assembly-signing-cpp-cli.md) |
69 | | - |
70 | | -[Debug class (C++/CLI)](../dotnet/debug-class-cpp-cli.md) |
71 | | - |
72 | | -[STL/CLR library reference](../dotnet/stl-clr-library-reference.md) |
73 | | - |
74 | | -[C++ support library](../dotnet/cpp-support-library.md) |
75 | | - |
76 | | -[Exceptions in C++/CLI](../dotnet/exceptions-in-cpp-cli.md) |
77 | | - |
| 48 | +[C++/CLI tasks](../dotnet/cpp-cli-tasks.md)\ |
| 49 | +[Native and .NET interoperability](../dotnet/native-and-dotnet-interoperability.md)\ |
| 50 | +[Pure and verifiable code (C++/CLI)](../dotnet/pure-and-verifiable-code-cpp-cli.md)\ |
| 51 | +[Regular expressions (C++/CLI)](../dotnet/regular-expressions-cpp-cli.md)\ |
| 52 | +[File handling and I/O (C++/CLI)](../dotnet/file-handling-and-i-o-cpp-cli.md)\ |
| 53 | +[Graphics operations (C++/CLI)](../dotnet/graphics-operations-cpp-cli.md)\ |
| 54 | +[Windows operations (C++/CLI)](../dotnet/windows-operations-cpp-cli.md)\ |
| 55 | +[Data access using ADO.NET (C++/CLI)](../dotnet/data-access-using-adonet-cpp-cli.md)\ |
| 56 | +[Interoperability with other .NET languages (C++/CLI)](../dotnet/interoperability-with-other-dotnet-languages-cpp-cli.md)\ |
| 57 | +[Serialization (C++/CLI)](../dotnet/serialization-cpp-cli.md)\ |
| 58 | +[Managed types (C++/CLI)](../dotnet/managed-types-cpp-cli.md)\ |
| 59 | +[Reflection (C++/CLI)](../dotnet/reflection-cpp-cli.md)\ |
| 60 | +[Strong Name assemblies (assembly signing) (C++/CLI)](../dotnet/strong-name-assemblies-assembly-signing-cpp-cli.md)\ |
| 61 | +[Debug class (C++/CLI)](../dotnet/debug-class-cpp-cli.md)\ |
| 62 | +[STL/CLR library reference](../dotnet/stl-clr-library-reference.md)\ |
| 63 | +[C++ support library](../dotnet/cpp-support-library.md)\ |
| 64 | +[Exceptions in C++/CLI](../dotnet/exceptions-in-cpp-cli.md)\ |
78 | 65 | [Boxing (C++/CLI)](../dotnet/boxing-cpp-cli.md) |
79 | 66 |
|
80 | 67 | ## See also |
|
0 commit comments