“可能重复”中的方法与书中的方法不同。本书的方法是在编译后通过反编译、重新编译过程扩展托管的 .dll。您认为完全相同的方法实际上是一种预编译技术。我更喜欢书中的方法,因为它在风格上更像 AOP。感谢您的链接。我也会探索这条大道
在 Expert .NET 2.0 IL Assembler 的第 18 章第 387 页中,Serge Lidin 谈到了创意往返。他说,“ILAsm 允许您将托管方法导出为非托管方法 入口点”。
我在其他任何地方都没有听说过这个话题。这是您可以在 PostSharp 中执行的操作吗?是否有使用此技术的任何可下载代码/脚本示例?
澄清一下,我不想使用 COM 或托管 C++。那么,通过 thunking 从 C/C++ 实现对 C# 方法的调用的最佳方式是什么?
最佳答案
ildasm,更改 corflags,添加 v 表信息和导出功能,ilasm 就完成了。
这是一篇代码项目文章: http://www.codeproject.com/Articles/37675/Simple-Method-of-DLL-Export-without-C-CLI
基于:
死链接:
http://www.csharphelp.com/2007/03/exporting-managed-code-as-unmanaged/ 罢工>
用于死链接的 Wayback Machine: https://web.archive.org/web/20140213030149/http://www.csharphelp.com/2007/03/exporting-managed-code-as-unmanaged/
基于: http://www.amazon.com/Inside-Microsoft-NET-IL-Assembler/dp/0735615470 (你所指的书的第一版)
关于c# - 将 C# 方法公开给非托管,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822743/