Skip to content

Commit 28f8ced

Browse files
Merge pull request #5901 from TylerMSFT/cli
Cli
2 parents 9a6d1c1 + 5ce6339 commit 28f8ced

File tree

1 file changed

+22
-35
lines changed

1 file changed

+22
-35
lines changed

docs/dotnet/dotnet-programming-with-cpp-cli-visual-cpp.md

Lines changed: 22 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
---
22
title: ".NET programming with C++/CLI"
33
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
55
helpviewer_keywords: ["programming [C++], .NET programming", ".NET Framework [C++]", ".NET applications [C++]", "Visual C++, .NET programming"]
66
---
77
# .NET programming with C++/CLI
88

9+
C++/CLI supplanted Managed C++. C++/CLI is a language specification created by Microsoft that extends C++ to support .NET. It's only supported on Windows. It's not for writing [WinUI](/windows/apps/winui) or Universal Windows Platform [UWP](/windows/uwp/get-started/universal-application-platform-guide) Windows Runtime (WinRT) apps. It's for writing .NET applications and components that run on .NET. 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+
Microsoft provides C++/WinRT for writing WinUI and WinRT apps. It's 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+
913
::: moniker range="msvc-140"
1014

1115
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
4145

4246
## In this section
4347

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)\
7865
[Boxing (C++/CLI)](../dotnet/boxing-cpp-cli.md)
7966

8067
## See also

0 commit comments

Comments
 (0)