2009/12/28

CodeDom プロバイダ型....を読み込めませんでした

asp.netアプリをコーディング中に、
「CodeDom プロバイダ型 "Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" を読み込めませんでした。」
というエラーが出て、コンパイル不能状態に陥りました。
 File/行/列の各欄がブランクのエラー報告なので、システム設定周りだと思い、調査する事に....
おかしなことに、同じソースを実行しても、上手く動作するときも有ります。

このプログラムは、ソース生成器の機能を持つのですが、特定データを処理した後のコンパイルで上記のメッセージがでて、コンパイル不能に陥ります。
うーん。謎は深まる。Compilerが読み込めない状況って、何だろう。
ソースの生成先は、同じアプリと同じ仮想フォルダー(~/data/temp/)に作成する仕様になっています。
データに依存するのでは...と追跡してみると。 「xxxx.java] と言う名前のFileを吐き出した後に、不能に陥ることが判りました。
だから 「VJ-compilerが読み込めない」になるんだ。原因は納得。
ソース生成器として、「java」ソースを書き出すときは、要注意です。
プロジェクトフォルダー以外のフォルダーに書き出せば回避できますが、レンタルサーバーの場合は、それもできません。
折角、クラスモジュールは{App_Code}で一本化しているのだから、データ用に {App_Data}を設定しておいて、その下では、拡張子は不問としてくれたら、スッキリするのですが。

それ以前に、aps.net(2008)は VB/C#の二種類しかないので、 .javaを言語ソースとみなすのは、不合理だと思う。
(*)このことで、数時間潰れたことは内緒です.....orz;

0 件のコメント:

コメントを投稿