visual-studio - 在 Visual Studio 中使用 Saxon .NET XSLT 处理器不适用于智能感知

标签 visual-studio xslt saxon

我正在使用开源 Saxon XSLT processor .NET 执行一些 2.0 转换。

我像引用任何其他 dll 一样引用 saxon9api.dll,并且可以针对此编译代码。但是,Visual Studio 没有显示任何智能感知,使 IDE 与记事本一样有用。

saxon9api.dll 正在使用 IKVM Java for .NET平台,我想知道这是否是导致 VS 问题的原因。 Reflector 可以毫无问题地检查 DLL,但我怀疑 VS 出于某种原因不高兴。

有任何想法吗?

编辑:

惊讶于没有其他人遇到这种行为,因为 Microsoft recommends (链接现已失效)在框架中缺少内置功能的情况下使用 Saxon。

我想我会将问题改写为在 IKVM 下运行的程序集未显示智能感知,尽管我需要先找到另一个基于 IKVM 的项目来证明情况确实如此......

最佳答案

要在 Visual Studio 中进行编译、运行和智能感知,您需要执行以下操作:

  • 引用 saxon9api.dll ,正如您所做的那样
  • 引用 IKVM.OpenJDK.Core.dll
  • 引用 IKVM.Runtime.dll (不确定是否需要,但我总是包含它)

  • 如果您还引用 vjslib ,您可能会遇到问题,因为它使用了许多相同的命名空间和类名,从而导致歧义,从而导致 Visual Studio 的智能感知出现问题。也许存在其他显示相同命名空间冲突的库。在这种情况下,首先在一个新项目上尝试这个,然后一个一个地添加引用,首先从 Saxon 的依赖项开始。

    执行此操作后,至少在 Visual Studio 2010 , 20122013 ,您会发现上下文相关的帮助正在工作(图像是 VS 2012 的 R# ):

    IntelliSense working in Visual Studio with Saxon EE

    注意:由于这篇文章很旧,当时它可能只适用于 Visual Studio 2008,我没有测试过,因为我不再使用它了。

    关于visual-studio - 在 Visual Studio 中使用 Saxon .NET XSLT 处理器不适用于智能感知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/750841/

    相关文章:

    visual-studio - NuGet 3.5/Visual Studio 2015 - 更改包缓存位置

    c++ - 确定 DLL 的加载路径

    xslt: 之前的子字符串

    xml - 创建后在 xsl 中对表进行排序

    xslt - 未知函数撒克逊 :parse-html when compiling stylesheet

    java - 根据 XSLT 版本选择 XSLT 处理器

    c# - 在 Visual Studio 调试器中设置私有(private)列表的值

    .net - 如何在Visual Studio 2013中删除未使用的功能

    xml - 如何替换 XSLT 1 中的多个文本子字符串

    command-line - 在命令行上运行 XQuery