2009/08/25(Tue) 08:01:19 編集(投稿者)
■No40298 (やじゅ さん) に返信
> ■No40277 (masa2 さん) に返信
>
> SQLite関連のDLL(例 System.Data.SQLite.dll)は、何を、どこに配置してますか(App_Dataフォルダ)?
> DLLにアクセスさえ出来れば使えると思うんだけどね。
やじゅさん、アドバイスありがとうございます。
プロジェクトフォルダに「ADO.NET Provider for the SQLite」関連のdllを配置しなければ
ならない事まで知恵が回っておりませんでした。
早速、プロジェクトフォルダ下に「Bin」フォルダを作成し、System.Data.SQLite.DLL
とSystem.Data.SQLite.Linq.dllの2つを配置しました。
VWD2005上では再度正常に稼働する様になりました。
サーバへ全てをアップし直し、動かしてみたところ、以下のエラーで動きませんでした。
必要なアクセス許可を取得できません。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.Security.Policy.PolicyException: 必要なアクセス許可を取得できません。
ソース エラー:
現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。
スタック トレース:
[PolicyException: 必要なアクセス許可を取得できません。]
System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +7604211
System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +57
[FileLoadException: ファイルまたはアセンブリ 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'、またはその依存関係の 1 つが読み込めませんでした。要求された最小限のアクセス許可を与えることができませんでした。 (HRESULT からの例外: 0x80131417)]
System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
<4行省略>
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46
[ConfigurationErrorsException: ファイルまたはアセンブリ 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'、またはその依存関係の 1 つが読み込めませんでした。要求された最小限のアクセス許可を与えることができませんでした。 (HRESULT からの例外: 0x80131417)]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613
<15行省略>
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
以上
エラーのSystem.Security.Policy.PolicyException SQLiteのキーワードでググたらこれと
同じエラーに関する質問投稿がたくさんありました。↓この投稿を見付けたので
http://stackoverflow.com/questions/596160/can-someone-tell-me-what-this-error-means
<system.web>
<securityPolicy>
<trust level="Full" />
</securityPolicy>
...
</system.web>
をweb.configに追加してみたのですが、
VWD2005では、以下のエラーが発生しました。
構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。
パーサー エラー メッセージ: 認識されない要素 'trust' です。
サーバで稼働した結果、以下のエラーを発生しました。
構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。
パーサー エラー メッセージ: この構成セクションはこのパスでは使用できません。これはサイト管理者が、継承された構成ファイルから <location allowOverride="false"> を使用して、このセクションへのアクセスをロックしたときに発生します。
ソース エラー:
行 14: <system.web>
行 15: <compilation debug="true" strict="false" explicit="true"/>
行 16: <securityPolicy>
行 17: <trust level="Full" />
行 18: </securityPolicy>
あと一歩の所まで来ている様な気がするのですが。
サーバ上で新しいツールが動くようにするのは、手間の掛かる作業なのですね。