gpt4 book ai didi

pinvoke - 与 ASP.net vNext 中的非托管代码进行互操作

转载 作者:行者123 更新时间:2023-12-01 22:24:40 26 4
gpt4 key购买 nike

围绕 ASP.net vNext/Core CLR 与非托管代码的互操作,会有什么故事(如果有)?

关键位(DllImport 和 friend )似乎是为了允许非托管代码互操作而存在,但是在这种情况下打包和部署之类的事情将如何工作? vNext/CoreFX 中的基本构建工件不再是程序集,而是 NuGet 包。那么在这种情况下,我们如何使新的 project.json 系统工作,以便我们 P/Invoking 的非托管 dll 也包含在生成的 NuGet 包中?

或者我正在谈论尚未考虑的场景(或者更令人失望的是,不会发生)?

最佳答案

这个故事尚未完全充实,但已经有如何做到这一点的示例。最终,我们(致力于此的 Microsoft 团队)正在研究一些方案,以使 NuGet 包能够更好地支持包中的 native 内容。

要查看这方面的一个示例,Kestrel web server有一些自己的托管代码,此外还包括 libuv在其 NuGet 包中实现跨平台的高效异步 IO 实现。

因为 NuGet 中还没有内置的通用解决方案,所以 Kestrel 的构建脚本使用了一些 custom actions将 native 内容包含在 NuGet 包中。然后加载 libuv 有 some code根据运行环境动态确定要加载哪个 native libuv。

所以,是的,这有点困惑,但它确实有效,而且这绝对是团队需要改进的优先事项之一。

关于pinvoke - 与 ASP.net vNext 中的非托管代码进行互操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27967220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com