• <small id='KzU6p'></small><noframes id='KzU6p'>

  • <i id='KzU6p'><tr id='KzU6p'><dt id='KzU6p'><q id='KzU6p'><span id='KzU6p'><b id='KzU6p'><form id='KzU6p'><ins id='KzU6p'></ins><ul id='KzU6p'></ul><sub id='KzU6p'></sub></form><legend id='KzU6p'></legend><bdo id='KzU6p'><pre id='KzU6p'><center id='KzU6p'></center></pre></bdo></b><th id='KzU6p'></th></span></q></dt></tr></i><div id='KzU6p'><tfoot id='KzU6p'></tfoot><dl id='KzU6p'><fieldset id='KzU6p'></fieldset></dl></div>

    <tfoot id='KzU6p'></tfoot>
      <bdo id='KzU6p'></bdo><ul id='KzU6p'></ul>
    <legend id='KzU6p'><style id='KzU6p'><dir id='KzU6p'><q id='KzU6p'></q></dir></style></legend>
      1. .NET 中是否有相当于进程外 COM EXE 的功能?

        Is there an equivalent to out-of-process COM EXE in .NET?(.NET 中是否有相当于进程外 COM EXE 的功能?)
        • <tfoot id='dFZ7u'></tfoot>

              <tbody id='dFZ7u'></tbody>

            <legend id='dFZ7u'><style id='dFZ7u'><dir id='dFZ7u'><q id='dFZ7u'></q></dir></style></legend>

              <i id='dFZ7u'><tr id='dFZ7u'><dt id='dFZ7u'><q id='dFZ7u'><span id='dFZ7u'><b id='dFZ7u'><form id='dFZ7u'><ins id='dFZ7u'></ins><ul id='dFZ7u'></ul><sub id='dFZ7u'></sub></form><legend id='dFZ7u'></legend><bdo id='dFZ7u'><pre id='dFZ7u'><center id='dFZ7u'></center></pre></bdo></b><th id='dFZ7u'></th></span></q></dt></tr></i><div id='dFZ7u'><tfoot id='dFZ7u'></tfoot><dl id='dFZ7u'><fieldset id='dFZ7u'></fieldset></dl></div>
              1. <small id='dFZ7u'></small><noframes id='dFZ7u'>

                  <bdo id='dFZ7u'></bdo><ul id='dFZ7u'></ul>
                  本文介绍了.NET 中是否有相当于进程外 COM EXE 的功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  COM/ActiveX 的优点之一是进程外 EXE.您可以有一个 EXE,它以一种其他进程(包括 VBScript 和 JScript)都可以使用的形式公开方法和属性.同时,EXE 可以有自己的功能,与它的类型库公开的功能相关或无关.

                  One of the nice things about COM/ActiveX was the out-of-process EXE. You could have an EXE which exposed methods and properties in a form usable by both other processes, including VBScript and JScript. At the same time the EXE could have its own functionality, related or unrelated to that exposed by its type library.

                  .NET 等价物是什么?

                  What is the .NET equivalent?

                  我有一个现有的 VB6 项目,它是一个脚本语言解释器(使用 MSScript)和其他脚本语言的各种工具功能的资源.有人建议我尝试将其转换为 .NET.

                  I have an existing VB6 project which is a scripting language interpreter (using MSScript) and a resource of various tool functions for other scripting languages. It has been suggested that I try converting it to .NET.

                  这行得通吗,还是我最终会将一件物品分成两份?

                  Is this going to work, or will I end up splitting the one item into two?

                  推荐答案

                  企业服务将允许您这样做.您可以将 COM 组件运行为:

                  Enterprise services will allow you to do just that. You can run a COM component as:

                  • 一个 DLLHost 进程
                  • 一项服务
                  • 一个 inproc 库(这与您的其他代码在同一进程中)

                  互联网上有很多关于这些的例子.归根结底是:

                  There are numerous examples on the internet about these. What it comes down to is:

                  • 使用接口装饰您需要向 COM 公开的类
                  • 您要托管的组件需要从 ServicedComponent 派生
                  • 使用 GuidAttribute 装饰您的界面(使用唯一的 Guid)
                  • 使用 ComVisible(true) 属性装饰向 COM 公开的接口和类

                  希望这会有所帮助.

                  这篇关于.NET 中是否有相当于进程外 COM EXE 的功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Multicast delegate weird behavior in C#?(C# 中的多播委托奇怪行为?)
                  How to store delegates in a List(如何将代表存储在列表中)
                  Delegate.CreateDelegate() and generics: Error binding to target method(Delegate.CreateDelegate() 和泛型:错误绑定到目标方法)
                  CreateDelegate with unknown types(具有未知类型的 CreateDelegate)
                  Does Funclt;Tgt;.BeginInvoke use the ThreadPool?(Funclt;Tgt;.BeginInvoke 使用线程池吗?)
                  How to create a delegate to an instance method with a null target?(如何为具有空目标的实例方法创建委托?)

                    <i id='bxcI1'><tr id='bxcI1'><dt id='bxcI1'><q id='bxcI1'><span id='bxcI1'><b id='bxcI1'><form id='bxcI1'><ins id='bxcI1'></ins><ul id='bxcI1'></ul><sub id='bxcI1'></sub></form><legend id='bxcI1'></legend><bdo id='bxcI1'><pre id='bxcI1'><center id='bxcI1'></center></pre></bdo></b><th id='bxcI1'></th></span></q></dt></tr></i><div id='bxcI1'><tfoot id='bxcI1'></tfoot><dl id='bxcI1'><fieldset id='bxcI1'></fieldset></dl></div>
                    <legend id='bxcI1'><style id='bxcI1'><dir id='bxcI1'><q id='bxcI1'></q></dir></style></legend>
                      <tbody id='bxcI1'></tbody>
                      • <bdo id='bxcI1'></bdo><ul id='bxcI1'></ul>
                        • <tfoot id='bxcI1'></tfoot>
                        • <small id='bxcI1'></small><noframes id='bxcI1'>