C# 使用COM+;

C# 使用COM+;,c#,.net,com,interop,com+,C#,.net,Com,Interop,Com+,我需要创建一个具有以下两个要求的.Net C#组件: 将XML和XSL路径作为输入参数应返回HTML字符串 XSLT引擎需要使用MSXML XSLT处理器实现* 使用MSXMLvia可能是一种选择,但我发现这篇关于这个主题的可怕的知识库文章说: 815112信息:.NET应用程序不支持使用MSXML MSXML使用线程模型和垃圾收集机制 与.NET Framework不兼容。在.NET中使用MSXML 通过COM互操作性的应用程序可能会导致意外的 难以调试的问题 在进程外COM+包中使用MSX

我需要创建一个具有以下两个要求的.Net C#组件:

  • 将XML和XSL路径作为输入参数应返回HTML字符串
  • XSLT引擎需要使用MSXML XSLT处理器实现*
  • 使用
    MSXML
    via可能是一种选择,但我发现这篇关于这个主题的可怕的知识库文章说:

    815112信息:.NET应用程序不支持使用MSXML

    MSXML使用线程模型和垃圾收集机制 与.NET Framework不兼容。在.NET中使用MSXML 通过COM互操作性的应用程序可能会导致意外的 难以调试的问题

    在进程外
    COM+
    包中使用
    MSXML
    是否可以更安全地从.NET应用程序访问
    MSXML
    正如我的需求中所述,我不需要将
    MSXML
    类或接口作为输入/输出参数来处理,只需要简单的字符串

    *代码库由数千个XSL文件组成,这些文件在
    MSXML
    XSLT引擎(MSXML 4.0)上运行良好,但在pickier
    System.xml
    .Net库中给出的不仅仅是一个错误。

    是的,您可以创建一个,然后使用或a中的类(我个人同意)连接到COM+应用程序


    当然,这意味着您必须使用.NET以外的其他技术来托管组件,但这可能是实现与.NET的进程隔离和互操作性的最简单方法。

    我不明白为什么不使用内置xml库?您是说system.xml给您带来了麻烦。也许调试System.Xml的问题会更容易。或者,如果您(很可能)有格式问题,您不能“预处理”文件吗?我100%同意@MaximGershkovich-我忍不住想象,使用内置XML库修复您的问题将导致更稳定、性能更好的代码库。@systempuntoout什么错误?XML/XSLT是一个定义非常好的系统——您不应该看到库之间的差异。这并不是说我们不想帮上忙——更像是想把你引向电梯的方向,而不是楼梯。@Chris你不应该看到图书馆之间的差异——欢迎来到现实世界