none
Webパーツ開発について RRS feed

  • 質問

  • いつもお世話になっております。

    質問が一点あるのですが、Webパーツ開発時に

    ユーザーコントロール単体ではなく、クラスも組み込んだWebパーツを作っております。

    処理としてはドロップダウンリストをクライアントに選択してもらい、

    ボタンを押すとデータベースの値を持ってきてExcelに書き込みドキュメントライブラリに

    ファイルを権限を付けてアップロードするといった形です。

    環境はMOSS 2007でVSeWSSを使用して実装しております。

     

    ここでユーザーコントロール(ascx)の処理は動作するのですが、

    データベース処理(クラス)部分とExcel処理(クラス)はクラスが定義されておりませんという

    エラーが出ます。

    Webアプリケーションでの実行はできるのですが、Webパーツに変換するとエラーが起こってしまします。

    インターネットで調べてみたのですが解決策が見つからなく、とても困っております。

    わかる方いらっしゃったらどうかよろしくお願いいたします。

    2010年9月21日 10:36

回答

すべての返信

  • こんばんは、

    > データベース処理(クラス)部分とExcel処理(クラス)はクラスが定義されておりませんという

    ご質問の内容を見ると、単純に参照設定がされていないだけの様に思います。
    ASP.NETのみでは動くと言う事は、プロジェクトファイルが違うと言う事だと思うので参照設定も違う様に思います。

    参照設定を見直してみては如何でしょうか?

    2010年9月21日 14:15
  • 返信遅くなりまして申し訳ありません。

    ありがとうございます。

     

    参照設定ですが、Webアプリケーションのプロジェクト自体を登録しても

    WebアプリケーションをビルドしたDLLを登録しても

    上記エラーになってしまいます。

     

    構築順序は以下の通りです。

    ソリューションにはWebアプリケーションとして

    ユーザーコントロールを使用したASP.NETを作成しました。

    この段階では動作いたします。

    そして同じソリューションにWebパーツプロジェクトを作成し、

    Webパーツプロジェクト内にTemplatesフォルダを作成後、

    Webアプリケーションのユーザーコントロールとその他クラスをリンクとして追加しました。

    ユーザーコントロールはaspxファイルからロードして動作させています。

    そしてビルドするとMOSSにはWebパーツがアップロードされますが、上記のエラーが返ってきます。

     

    MOSS環境自体に設定が必要なのでしょうか?

    2010年9月22日 0:37
  • おそらく

    http://crie-illuminate.spaces.live.com/blog/cns!2FF2FFB723A043DA!469.entry

    こちらで紹介されている方法でWebパーツを作成しようとしているかと思いますが、

    そうであればascxの@Assemblyディレクティブの宣言で必要なライブラリをリンクしておけば大丈夫だと思います。

     

    • 回答としてマーク A3P1N 2010年11月11日 5:49
    2010年10月5日 4:28
  • ASCXコントロールで、現在のネームスペースを表示するようにすると現状をご理解頂ける助けに成るかもしれません。

    ご質問の内容と合わない様な気がしますが、、、
    acsxで作成したコントロールをWebパーツ側で操作したいと言う事ですか?
    Webパーツ側からASCXの操作をするには、厳密名が必要だったと思います。
    厳密な名前空間を調べて、適切に宣言する必要があります。

    ご参考までに、、

    http://msdn.microsoft.com/ja-jp/library/aa543922%28office.12%29.aspx

    2010だと楽にできるのですが、、2007だとそこらへん面倒なのですよね~

    2010年10月10日 8:31