C# 托管CLR与使用ClrCreateManagedInstance相比,有哪些好处?
如前所述,我已成功实现Win32应用程序和托管.Net dll之间的互操作。但我也了解到,可以在非托管进程内托管整个CLR 所以我的问题是:你为什么要这么做?它比仅仅使用一个对象要复杂一些——增加复杂性的代价会给您带来什么好处C# 托管CLR与使用ClrCreateManagedInstance相比,有哪些好处?,c#,.net,delphi,interop,C#,.net,Delphi,Interop,如前所述,我已成功实现Win32应用程序和托管.Net dll之间的互操作。但我也了解到,可以在非托管进程内托管整个CLR 所以我的问题是:你为什么要这么做?它比仅仅使用一个对象要复杂一些——增加复杂性的代价会给您带来什么好处 编辑:我从2个第一个答案中了解到,你可以根据自己的需要定制CLR——这意味着如果你正在编写一个简单的商业应用程序,你将永远不需要主持。托管适用于浏览器或SQL Server等系统密集型应用程序。您可能有一个遗留应用程序,并希望允许第三方从您的应用程序中使用.net的功能,
编辑:我从2个第一个答案中了解到,你可以根据自己的需要定制CLR——这意味着如果你正在编写一个简单的商业应用程序,你将永远不需要主持。托管适用于浏览器或SQL Server等系统密集型应用程序。您可能有一个遗留应用程序,并希望允许第三方从您的应用程序中使用.net的功能,但特别是以受控的方式,例如控制从何处加载程序集。是一个例子。您可能有一个遗留应用程序,希望允许第三方从应用程序中使用.net的功能,但特别是以受控方式使用,例如控制从何处加载程序集。是一个例子。Microsoft SQL Server广泛使用它来替代安全性、程序集加载、内存管理、线程管理等等。关于这个主题的一本好书是“自定义Microsoft.NET Framework公共语言运行时”。Microsoft SQL Server广泛使用它来替代安全性、程序集加载、内存管理、线程管理等等。关于此主题的一本好书是“自定义Microsoft.NET Framework公共语言运行时”。托管CLR通常不是托管代码和Win32之间的互操作。通常有3种互操作方法:
- 运行时可调用包装器(RCW)-从.NET调用COM对象
- COM可调用包装器(CCW)-使.NET对象显示为COM对象
- P/调用
托管API从.NET 1.x到2.x发生了重大变化,但自从2.0 CLR经历了.NET 3.0、3.5等之后变得更加稳定。托管CLR通常不是托管代码和Win32之间的互操作。通常有3种互操作方法:
- 运行时可调用包装器(RCW)-从.NET调用COM对象
- COM可调用包装器(CCW)-使.NET对象显示为COM对象
- P/调用
托管API从.NET 1.x显著更改为2.x,但自从2.0 CLR经历了.NET 3.0、3.5等之后,变得更加稳定。好链接,谢谢。不过,我的问题更多的是关于为什么你需要更多的控制。很好的链接,谢谢。不过,我的问题更多地围绕着为什么你需要更多的控制。