2

VS 2012 でプリコンパイルされた Web サイト プロジェクトの一部である WCF サービスにCORS ヘッダーを追加しようとしています。

エラー

The type 'EnableCrossOriginResourceSharingBehavior, MyWebSite, Version=0.0.0.0, Culture=neutral' registered for extension 'crossOriginResourceSharingBehavior' could not be loaded.

設定ファイルから

<behaviors>
  <serviceBehaviors>...</serviceBehaviors>
  <endpointBehaviors>
    <behavior name="jsonBehavior">
      <webHttp />
      <crossOriginResourceSharingBehavior />  <!-- Error Here -->
    </behavior>
  </endpointBehaviors>
</behaviors>
<extensions>
  <behaviorExtensions>
    <add name="crossOriginResourceSharingBehavior" type="EnableCrossOriginResourceSharingBehavior, MyWebSite, Version=0.0.0.0, Culture=neutral" />
  </behaviorExtensions>
</extensions>

現在、MyWebSite.dllコンパイル済みのサイトにはないようです。では、どうすればこれを乗り越えて BehaviorExtension を機能させることができるでしょうか?

4

1 に答える 1

1

定義の型が間違っているため、このエラーが発生します。型の名前空間が失われました。

<add name="crossOriginResourceSharingBehavior" type="MyWebSite.EnableCrossOriginResourceSharingBehavior, MyWebSite, Version=0.0.0.0, Culture=neutral" />

定義では と等しいため、おそらくバージョンが間違って0.0.0.0います。AssemblyInfo.csアセンブリ バージョンについては、を参照してください。

アセンブリに強い名前がないようです。したがって、定義からバージョンとカルチャを削除できます。

<add name="crossOriginResourceSharingBehavior" type="MyWebSite.EnableCrossOriginResourceSharingBehavior, MyWebSite" />
于 2015-04-12T13:41:25.467 に答える