C++/CLI和.NET内核的更新

第一个公开发布的.NETCype 3.1的C++/CLI支持现在已经公开预览了!它包含在 Visual Studio 2019更新16.4预览版2 . 如果您能尝试一下并给我们任何反馈,我们会很高兴的。有关这是什么以及未来的路线图的更多信息,请查看我在上一篇文章 C++/CLI和.NET内核的未来 .

null

要开始使用,请确保已安装所有必需的组件。桌面开发的C++/CLI支持是可选组件,因此您需要在安装程序的右窗格上选择它:

Install the “Desktop development with C++” workload and be sure to include the optional “C++/CLI support” component.

您还需要.NET核心跨平台开发工作负载。它安装您所需的一切,包括.NET Core 3.1 SDK:

Alt: Install the “.NET Core cross-platform development” workload.

创建C++/CLI.NET核心项目

首先,您需要创建一个“CLR类库(.NET Core)”或“CLR空项目(.NET代码)”。类库模板包括一些额外的模板来设置一个示例类和预编译头,这样可以更容易地开始。空项目是引入现有C++/CLI代码的理想方案。不建议将现有的C++/CLI项目重定向到.Net核心。

目前没有一个可以用于.NETCARE的C++或CLI控制台或Windows应用程序的模板。相反,必须将应用程序入口点放在C++/CLI代码之外。通常,我们强烈建议将C++或CLI项目尽可能窄地保持在.NET内核和其他C++代码之间的互操作性。

图片[3]-C++/CLI和.NET内核的更新-yiteyi-C++库

一旦创建了其中一个项目,就可以像其他类库一样从其他.NET核心项目中引用它- 有一个重要的警告 . .NET核心项目通常与架构无关。您可以将其视为配置管理器中的体系结构“Any CPU”和构建日志中的“MSIL”。这是所有.NET核心项目的默认值。如果引用任何C++/CLI类库,必须为非C++项目指定一个显式架构,而不是“任何CPU”。

您可以使用 配置管理器 .

如果架构不匹配,则会看到此警告,并且试图加载C++ /CLI类库将在运行时失败:

图片[4]-C++/CLI和.NET内核的更新-yiteyi-C++库

要解决此问题,请确保解决方案中的所有项目都使用相同的体系结构“x86”和“Win32”或“x64”。如果您使用的是ASP.NET核心,那么还有一个额外的考虑因素。您的项目还需要与iisexpress的体系结构相匹配。这通常是“x64”。如果您看到一个“500服务器错误”由于加载失败,这可能就是问题所在。

向我们发送反馈

请试试这个。我们很想听听你的反馈 到 帮助我们确定优先级和 构建正确的功能。我们可以通过下面的评论或电子邮件联系( visualcpp@microsoft.com ). 您也可以随时通过 开发者社区 .

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享