0

私は SharePoint 2007 に Web サイトを持っています。私はコントロール アダプター、特にメニューとログイン コントロール用のアダプターを使用しています。これら 2 つのアダプターは、Web サイトの bin フォルダーに展開される署名付きアセンブリに存在します。ブラウザ

<browser refID="Default">
        <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu"
             adapterType="NameofEnterprise.SecondName.Adapters.MenuAdapter" />
            <adapter controlType="System.Web.UI.WebControls.Login"
         adapterType="NameofEnterprise.SecondName.Adapters.LoginAdapter" />
        </controlAdapters>
    </browser>

ときどき、次の例外が発生します。ときどき、1日に1回か2回としましょう。

Unable to create type 'NameofEnterprise.SecondName.Adapters.MenuAdapter'.

心に留めておくべきこと:これは私が開発したマシンで発生します。フレームワークを狂わせる一時ファイルがあるかどうかはわかりません。次に、フレームワークがおそらく別のアセンブリでアダプタのクラスを探しているかどうかはわかりません。これは、NameofEnterprise.SecondName.BusinessLayer,NameofEnterprise と同じ名前空間を持つアセンブリがいくつかあるためです。 SecondName.DataLayer....

何が問題なのか教えてください。フレームワークにアセンブリの名前をより具体的に伝えることはできますか (ブラウザーでは、クラスと名前空間の名前のみを記述します)。

解決

最後に、私はあなたが私に与えた2つのアドバイスを使用しました. 最初のことで十分だと思います。つまり、

<system.web>
    <compilation>
      <assemblies>
        <add assembly="*<Your assembly name here>*"/>
    </assemblies>
    </compilation>
</system.web>

しかし、私はブラウザに2つのアセンブリと公開トークンを含めました:

<browser refID="Default">
    <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu"
             adapterType="NameofEnterprise.SecondName.Adapters.MenuAdapter", YourAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=YourPublicKeyToken"/>
    </controlAdapters>
4

2 に答える 2

2

アセンブリをアセンブリのリストに追加して、web.config を変更する必要があります。

<system.web>
    <compilation>
      <assemblies>
        <add assembly="*<Your assembly name here>*"/>
    </assemblies>
    </compilation>
</system.web>

コントロールを含むアセンブリを追加すると、エラーが消えるはずです。今後の参考のために、一時インターネット ファイルは、Asp.net エラーとはほとんど関係ありません。気分が良くなればクリアできますが。

于 2009-04-14T07:52:47.247 に答える
1

アセンブリに参照を追加するときに、完全修飾名を使用すると便利です。

<browser refID="Default">
    <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu"
             adapterType="NameofEnterprise.SecondName.Adapters.MenuAdapter", YourAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=YourPublicKeyToken"/>
    </controlAdapters>

于 2009-04-14T08:45:34.080 に答える