- - PR -
ODP.NETでコンパイルエラー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-18 09:32
Visual Web Developer 2005(以下VMD)で開発をしています。
VMDでデバック実行時はエラーにならないのですが、 wwwroot下のアプリケーション作成されたフォルダにwebサイトのコピー後、 URL指定で実行すると下記のエラーになります。 ------------------------------------------------------------------------------- コンパイル エラー 説明: この要求を送信するために必要なリソースをコンパイル中に、 エラーが発生しました。以下のエラーの詳細を確認して、ソース コードを 修正してください。 コンパイル エラー メッセージ: BC30002: 型 'OracleConnection' が 定義されていません。 ソース エラー: 行 15: Dim Conn As OracleConnection ------------------------------------------------------------------------------- Oracle.Data.Accessの参照設定もしておりますし、 Imports Oracle.DataAccess.Client Imports Oracle.DataAccess.Types も記述しております。 web.configには <add assembly="Oracle.DataAccess, Version=9.2.0.2102, Culture=neutral, PublicKeyToken=89B483F429C47342"/></assemblies> とあります。 aspxには <%@ import Namespace="Oracle.DataAccess.Client" %> と追加もしてみました。 App_Code内に作成したクラスでのエラーとなってます。 ちなみにアプリケーションの作成をしてあるフォルダの直下に BinフォルダとApp_Codeフォルダを置いて、aspxは別フォルダに入ってます。 ネットで検索もしてみましたが… ご教授いただけるとありがたいです。 [ メッセージ編集済み 編集者: まなか 編集日時 2008-04-18 10:04 ] | ||||
|
投稿日時: 2008-04-18 21:10
実機にODP.NETがインストールされていないと思います。
(もしくは開発のBINを全てコピーすれば 行ける(?)と思いますが。。。) 参考になればと思います。 | ||||
|
投稿日時: 2008-04-19 13:52
ODP.NETのインストール済みで、今回のようにクラス化せずに作成した
他のaspxは動いています。 開発のBinも全てコピーしているのですが・・・ 自分の開発マシン上のIISのwwwrootでもサーバーのwwwrootでも現象は同じだったのですが・・・ ということは、ODP.NETの再インストールしかないのかもしれませんね。 月曜日に試してみます。 | ||||
|
投稿日時: 2008-04-21 12:45
フォルダの構成を戻して、aspxが入っているフォルダを
アプリケーションの作成したら正常に動くようになりました。 App_CodeフォルダはBinフォルダのように、共通化して使えるものかと 思い、aspxと異なるフォルダにしていました。 新しいプロジェクトが作成されるたびに、サーバーでいちいち アプリケーションの作成、をやるのが面倒だと思って 一番上の階層のフォルダだけアプリケーションの作成をしてました。 ここで疑問なのですが、プロジェクトごとにアプリケーションの作成を するのが普通なのでしょうか? | ||||
|
投稿日時: 2008-04-22 21:56
プロジェクトごと? 同じ Webサイト に入れるなら同じプロジェクトにコードを追加するんじゃないですか? あと、初回リクエスト時にコンパイルが走るかどうかはプロジェクトの種類によって違ったような。どちらでプロジェクトを作っていますか? →http://dotnetfan.org/blogs/dotnetfanblog/archive/2008/01/21/2717.aspx _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2008-05-07 14:08
お返事遅くなりました。 Webサイトで作成しています。 表現が悪かったので、再度説明させていただきます。 .NETで作成したものを同じフォルダに入れようと思っていました。 Mainフォルダ (このフォルダをインターネットインフォメーションサービスから アプリケーションの作成、としています。) ⇒Main\binフォルダ (.NETで作成したアプリケーション全てで使用できるようにdllを格納) ⇒Main\YYYフォルダ (YYYプロジェクトのフォルダで、App_Codeフォルダや Default.aspxが入ります。) ⇒Main\ZZZフォルダ (ZZZプロジェクトのフォルダで、App_Codeフォルダや Default.aspxが入ります。) 以上のように、プロジェクトが全く別であってもMainフォルダさえIISでアプリケーションの作成をしておけば、良いのかと思っての質問でした。 共通して使える処理をクラス化しておけばコーディングも楽になるかと思い、クラス化したところ、最初に投稿をしたエラーが発生していました。 上記の例で言えば「Main\YYYフォルダ」も「Main\ZZZフォルダ」もアプリケーションの作成を行うと正常に動きました。 私はサーバーを触る権限がないため、プロジェクトを作成するたびにアプリケーションの作成をするのが困難です。 サーバーにファイルを置く権限はあるので、出来上がった「Main\YYYフォルダ」をサーバーに置くだけで正常に動くものかと思っていたのですが… [ メッセージ編集済み 編集者: まなか 編集日時 2008-05-07 14:10 ] |
1