jum*_*kie 2 pinvoke unmanaged asp.net-core
围绕与ASP.net vNext/Core CLR的非托管代码互操作的故事(如果有的话)是什么?
关键位(DllImport和朋友)似乎存在以允许非托管代码互操作,但打包和部署之类的东西如何在这种情况下工作?vNext/CoreFX中的基本构建工件不再是一个程序集,而是一个NuGet包.那么在这种情况下,我们如何使新的project.json系统工作,以便我们P/Invoking的非托管dll也包含在生成的NuGet包中?
或者我在谈论尚未考虑的情景(或更令人失望,不会发生)?
这个故事尚未完全充实,但已经有如何做到这一点的例子.最终,我们(致力于此的Microsoft团队)正致力于某些方案,以使NuGet包能够更好地支持包中的本机内容.
要查看其中的一个示例,Kestrel Web服务器具有一些自己的托管代码,并且在其NuGet包中包含libuv,以实现跨平台的高效异步IO实现.
由于NuGet中还没有内置的通用解决方案,因此Kestrel的构建脚本使用一些自定义操作将本机内容包含在NuGet包中.然后,为了加载libuv,有一些代码可以动态地根据运行环境来计算要加载的本机libuv.
所以,是的,它有点混乱,但它确实有效,这在团队的优先级列表上肯定是很高的.
| 归档时间: |
|
| 查看次数: |
751 次 |
| 最近记录: |