我做了很多搜索并完成了我找到的建议,但似乎没有任何效果。返回数字的最简单的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>
答案 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;你会发现一些可能让你开始的额外线索。尽管根据我的经验,这里有很多反复试验。