蝎子
在Visual Studio 2019(自v16.4开始)和.NET Core 3.1中,一项引人关注的新特性是可以面向.NET Core来构建C++/CLI项目。具体怎么做呢?
有两种方法:一种是直接通过cl.exe和link.exe(使用/clr:netcore编译开关),二是使用MSBuild(通过NetCore。
在今天这篇文章中,我将会向大家演示如何将一个简单的C++/CLI项目迁移至.NET Core的整个过程,如果大家有什么疑问,可以查阅.NET Core附带的帮助文档。
一个简单的项目
首先,我需要准备一个简单的示例项目来开始这次实验。我将使用一个带有原生入口点(native entry point)的应用程序,这个应用程序将会通过C++/CLI来显示一个Windows窗口。另外,也可以使用C++/CLI,通过将托管入口点(managed entry point)与本机依赖项进行互操作的方式来对项目进行迁移,也同样容易。下面,我将创建了一个示例解决方案,这个解决方案中包含三个简单项目。
1. NativeApp
这个项目使用了Visual Studio的Windows桌面应用程序模板进行创建。
1.1. 它将会成为应用程序的入口点。
1.2. 我对这个项目进行了一些修改,使它可以显示CppCliInterop项目中的一个托管窗口,并在IDM_ABOUT命令被触发时调用一个方法。
2. ManagedLibrary
这个项目是一个C#版本的Windows窗口库,面向.NET C