.net - ColdFusion .Net 集成错误 : DotNetExtension not installed

标签 .net coldfusion integration coldfusion-10

我一直在尝试让 .NET 集成服务在我的 ColdFusion 10 环境中正常工作,但是尽管卸载/重新安装/重新启动/服务重新启动,它仍然拒绝在 ColdFusion 中生成代理类。我刚刚将 .NET Framework 升级到 4.6,根据 Adob​​e 的文档,安装新的 .NET Framework 需要卸载/重新安装 CF .NET 服务。 [ 1 ]

该服务器运行了多个 ColdFusion 实例,因此我将 CF .NET 服务安装为独立的,并且该服务本身作为本地系统运行。

我已经确定 neo-dotnet.xml每个实例的 lib 中的文件文件夹包含我安装 .NET 服务的目录,我用于测试的 .NET dll 非常简单:

namespace DLLTest
{
    public class MyClass
    {
       public int Add(int x, int y)
        {
            return x + y;
        }
    }
}

我调用 .NET 程序集的方式如下:
<cfobject type=".NET" name="testDLL" class="DLLTest.MyClass" assembly="[Absolute_PATH]\DLLTest.dll')">

当 .cfm 页面运行时,它会创建以下堆栈跟踪:
coldfusion.runtime.dotnet.Assembly$DotNetExtensionNotInstalledException:
DotNetExtension not installed. at
coldfusion.runtime.dotnet.Assembly.loadClass(Assembly.java:258) at
coldfusion.runtime.dotnet.Assembly.loadClass(Assembly.java:226) at
coldfusion.runtime.dotnet.DotNetProxyFactory.getProxy(DotNetProxyFactory.java:78)
at coldfusion.runtime.ProxyFactory.getProxy(ProxyFactory.java:65) at
coldfusion.runtime.CFPage.createObjectProxy(CFPage.java:5785) at
coldfusion.tagext.lang.ObjectTag.doStartTag(ObjectTag.java:441) at
coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2795) at
cfDLLTest2ecfm188311117.runPage([PATH_TO_FILE]\DLLTest.cfm:7) at
coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244) at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:446) at
coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at
coldfusion.filter.IpFilter.invoke(IpFilter.java:64) at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:451) at
coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) at
coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at
coldfusion.filter.PathFilter.invoke(PathFilter.java:112) at
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at
coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at
coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at
coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at
coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at
coldfusion.CfmServlet.service(CfmServlet.java:219) at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at
coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at
coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at
org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:218) at
org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:333) at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422) at
org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:199) at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at
java.lang.Thread.run(Thread.java:722) 

最佳答案

在测试服务器上安装 ColdFusion 2021 企业版后,我收到了同样的错误。之前在 ColdFusion 2016 上运行的代码抛出了这个错误。调试了很长时间后,问题最终是我的 2021 服务器上的 ColdFusion 实例没有 jnbridge 文件夹。它仅位于默认的“cfusion”实例文件夹中。为了解决这个问题,我做了以下事情:

  • 将“jnbridge”文件夹从 cfusion 复制到我的实例文件夹
  • 重新启动“ColdFusion 2021 .NET 服务”Windows 服务
  • 重启“ColdFusion 2021 Application Server INSTANCE_NAME”Windows服务
  • 关于.net - ColdFusion .Net 集成错误 : DotNetExtension not installed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34339880/

    相关文章:

    java - Java 类中的 SQL 代码

    intellij-idea - intellij 社区 2016.2 jboss 集成插件未找到

    xml - 在冷融合中使用 cfif

    在 Modelica 中对特定时间进行积分,并在特定点将平均值写入向量

    .net - 如何以编程方式复制在 Windows 下锁定的文件或文件夹?

    c# - <> 是什么意思?

    mysql - 使用 mySQL 数据库在 CFC 中进行麻烦的 coldfusion 联合查询

    pdf - 图像未显示在冷融合 10 的 cfdocument pdf 中

    c# - 添加 "using"到 ASPX 或 ASCX 文件

    c# - 合并两个 IObservable 时的意外行为