无法加载为扩展名"[extensionHere]"注册的类型[nameHere] [英] The type [nameHere] registered for extension '[extensionHere]' could not be loaded

查看:129
本文介绍了无法加载为扩展名"[extensionHere]"注册的类型[nameHere]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在fx3.5上使用WCF学习和构建JSONP Web服务.您可以在 .NET ASMX-返回纯JSON吗?中阅读一些试验.我终于运行了一个示例,但是现在我将它添加到我的应用程序中了.

I've been learning and building JSONP Web services using WCF on fx3.5. You can read some of the trials I had at .NET ASMX - Returning Pure JSON? I finally got a sample running but now I am I am dove tailing it into my app.

  • RivWorks.Web - the web site - located at http://dev.example.com
  • RivWorks.Web.Service - the new JSONP services - located in http://dev.example.com/services/ - the web.config for the services reside here.

该服务的web.config:

The web.config for the service:

  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="JsonpServiceBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <services>
      <service name="RivWorks.Web.Service.CustomerService">
        <endpoint address=""
                  binding="customBinding"
                  bindingConfiguration="jsonpBinding"
                  behaviorConfiguration="JsonpServiceBehavior"
                  contract="RivWorks.Web.Service.ICustomerService" />
      </service>
      <service name="RivWorks.Web.Service.NegotiateService">
          <endpoint address=""
                  binding="customBinding"
                  bindingConfiguration="jsonpBinding"
                  behaviorConfiguration="JsonpServiceBehavior"
                  contract="RivWorks.Web.Service.INegotiateService" />
      </service>
    </services>
    <bindings>
      <customBinding>
        <binding name="jsonpBinding" >
          <jsonpMessageEncoding />
          <httpTransport manualAddressing="true"/>
        </binding>
      </customBinding>
    </bindings>    
    <extensions>
      <bindingElementExtensions>
        <add name="jsonpMessageEncoding"
             type="RivWorks.Web.Service.JSONP.JsonpBindingExtension
                 , RivWorks.Web.Service
                 , Version=1.0.0.0
                 , Culture=neutral
                 , PublicKeyToken=null"/>
      </bindingElementExtensions>
    </extensions>
  </system.serviceModel>

我遇到以下错误,我已经尝试了所有可以解决的错误.在我的代码中发现了一些错字(服务而不是服务).我正在使用在 MSDN 中找到的示例代码.这是错误:

I am getting the following error and I've tried everything I can think of to fix it. Found a few typos (Sevice instead of Service) sprinkled throughout my code. I am using the sample code found at MSDN. Here is the error:

Configuration Error Description:** An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: The type 'RivWorks.Web.Service.JSONP.JsonpBindingExtension
                , RivWorks.Web.Service
                , Version=1.0.0.0
                , Culture=neutral
                , PublicKeyToken=null' registered for extension 'jsonpMessageEncoding' could not be loaded.

Source Error:

Line 58:  <customBinding>
Line 59:      <binding name="jsonpBinding">
Line 60:          <jsonpMessageEncoding />
Line 61:          <httpTransport manualAddressing="true" />
Line 62:      <binding>

Source File: C:\RivWorks\dev\services\web.config    Line: 60

Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082

有人对我可以检查的内容有任何想法吗?有一个名为RivWorks.Web.Service.dll的DLL,正在构建它并将其复制到网站的bin目录中.服务Web.config将被复制到网站的服务"目录中.我在网站的web.config中没有任何冲突.我已经检查了所有拼写问题.

Does anyone have any ideas on what else I can check? There is a DLL called RivWorks.Web.Service.dll, it is being built and copied to the web site's bin directory. The services Web.config is being copied to the web site's Services directory. I don't have anything conflicting in the web site's web.config. I've checked all spelling problems.

推荐答案

构建输出中的dll(RivWorks.Web.Service.dll)是吗?

Is the dll (RivWorks.Web.Service.dll) in the build output?

接下来,尝试(对于"jsonpMessageEncoding"扩展名):

Next, try (for the "jsonpMessageEncoding" extension):

type="RivWorks.Web.Service.JSONP.JsonpBindingExtension, RivWorks.Web.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"

请注意在" , "和回车符方面的不同间距.

Note the different spacing both in terms of " , " and carriage returns.

在那之后,我将对字符串进行三倍的检查.编写一个引用您所需的dll的控制台exe(RivWorks.Web.Service),然后输出:

After that, I would treble check the string. Write a console exe that references the dll you need (RivWorks.Web.Service), and output:

Console.WriteLine(
     typeof(RivWorks.Web.Service.JSONP.JsonpBindingExtension)
     .AssemblyQualifiedName);

这是您要在xml中逐字显示的字符串.不要在此字符串中包含任何多余的空格.

That is the string you want in the xml, verbatim. Don't include any extra whitespace in this string.

这篇关于无法加载为扩展名"[extensionHere]"注册的类型[nameHere]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆