从coldfusion运行.NET dll

时间:2012-08-27 18:47:13

标签: .net dll coldfusion

我做了很多搜索并完成了我找到的建议,但似乎没有任何效果。返回数字的最简单的C#DLL文件:

namespace TestClass
{
    public class Class1
    {
        public int tester()
        {
            return 5;
        }
    }
}

coldfusion代码:

<cfobject type=".NET" name="myDLL" class="TestClass.Class1" assembly="d:/path/to/dll/TestClass.dll">

我的所有尝试都引发了我的错误:

Class TestClass.Class12 not found in the specified assembly list. 
The assembly that contains the class must be provided to the assembly attribute. 

我不知道问题出在哪里。任何帮助将不胜感激。

此外,下面的代码确实有效:

<cfobject type=".NET" name="seClass" class="System.Environment">
<cfoutput>#seClass.Get_Version().ToString()#</cfoutput>

1 个答案:

答案 0 :(得分:2)

为了做到这一点,这可能是一些棘手的试验和错误。但错误是指一个程序集列表,它可能是JNB桥目录中的JNBDOtNetSide.exe.config文件的一部分(该目录的路径因设置服务器的方式而异)。

在文件中,您会在<jnibridge>下找到一个注释掉的xml节点,如下所示。

   <!--
    <assemblyList>
        <assembly file="path to first .NET-side assembly"/>
        <assembly file="path to second .NET-side assembly"/>
    </assemblyList>
    -->

您可以尝试将路径放在那里并重新启动服务。其他尝试 - 将程序集添加到全局缓存和(最后)删除在Web-INF中实现的核心代理jar文件。如果您在我的博客(coldfusionmuse.com)中搜索&#34; .NET Integration&#34;你会发现一些可能让你开始的额外线索。尽管根据我的经验,这里有很多反复试验。