2009-10-07 14 views
5

サーバーコントロールプロジェクトとして作成されたカスタムコントロールがいくつかあります。私はいくつかの変更を加えましたので、クラスを既存のWebアプリケーションプロジェクトに追加したので、ある場所に物事を持つことができました。このWebアプリケーションプロジェクトは、いくつかのWebプロジェクトで使用されるdllにコンパイルされます。.net Webアプリケーションプロジェクトのカスタムコントロール

私は、Webアプリケーションプロジェクトをビルドし、私は次のエラーを取得コントロールを使用して行くとき、異なるWebサイトのbinにDLLを配置します。

不明なサーバータグ「CustomControlsを:RadioButtonListForGrid」

私のウェブサイトのapp_codeフォルダにカスタムコントロールクラスを追加するとうまくいきます。私はオブジェクトブラウザを使用し、これらのクラスがdllにあることを確認しました。

私はここで何かが分かりませんか?これらをサーバーコントロールプロジェクトとして残し、ILmergeを使用してDLLを結合する必要がありますか?

EDIT

は、私は、アセンブリ名を追加するために必要なことがわかりました。また、アセンブリは私が思っていたものに名前が付けられていないことが判明しました。私はそれをチェックすべきだと思います。おっとっと。

+0

アセンブリ名は何ですか?命名パターンは何ですか? – Matt

+0

以下の私のコメントを受け入れられた回答に見てください。 – ScottE

答えて

4

web.configにタグプレフィックスを追加しましたか?

<pages> 
    <controls> 
    <add tagPrefix="CustomControls" namespace="MyApp.CustomControls" ... 
+0

はい。また、ページレベルで試してみました。同じweb.config設定は、app_codeフォルダ内のクラスでは動作しますが、dllではコンパイルされません。 – ScottE

+0

http://www.paraesthesia.com/archive/2007/08/02/generation-of-designer-file-failed-unknown-server-tag.aspxをご覧ください。 –

+0

@Robert Harvey - アセンブリの有無に関わらず、すべての順列で試しました – ScottE

2

登録ディレクティブでアセンブリ名を追加すると確認できます。同じアセンブリであっても必須です。

関連する問題