2016-06-24 14 views
0

MVC 4アプリケーションでvfp6を使用して作成したCOM DLL(タイプライブラリ)を使用して、FoxPro DBデータテーブルでデータを操作しています。私はRegsvr32を使用してdllを正常に登録することができ、私のプロジェクトでも参照を行うことができます。VFP6 Com DLLがvs2012.Netフレームワーク4.5で動作していませんMVC 4 Webアプリケーション

私のWebアプリケーションでは、COM dllのクラスのオブジェクトを作成できますが、そのプロパティやメソッドにはアクセスできません。私はiisexpress.exe has exited with code - 1073741819(0xc0000005)アクセス違反error when run the project from visual studio(admin mode) with debug. If i run the project without debug i got "System.Runtime.InteropServices.COMException: The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))の例外を持っています。

Dim objCOM = new foxprocom() // this creats the instance without any issue 

objCOM.Path = "my path" -- this line throws the errors 

私は、vfp9を使用して作成されたCOM dllを使用しました。これはうまくいきますが、vfp6を使用しているこのバージョンは動作しません。 vfp6 COM dllは.net 4.5と互換性がありますか?

この問題を解決するのを手伝ってください。

+0

32ビットの問題がありますか?ターゲットプラットフォームがx86であることを確認してください。 OTOHには、C0000005エラーを取得する理由がたくさんありますが、そのほとんどはVFP9まで修正されています。私は既にあなたがtypelibをインポートしたと仮定します。そのDLLがVB6またはJScriptで正常に動作するかどうかテストしましたか? –

答えて

-1

West Wind TechnologiesのWebサイトのサポート/ユーザーフォーラムでこの質問をするとよいでしょう。 FoxProと.Netを一緒に使ってきたユーザーは数多くいます。特に、この種のものでマスターである著名なRick Strahlがそうです。

http://support.west-wind.com/

+0

*あなたは別の場所に行って尋ねるべきです*元の質問へのコメントかもしれませんが、絶対に**ここでは適切な答えではありません。このスペースは、尋ねられた質問に**答え**を書くためのスペースです。 –

+0

十分に公正です。私は両者の違いを理解していませんでしたが、私は今それを見ます。 – MattSlay

0

単純な回答ではありません。数年前、私はVP6 .dllsがServer 2008で動作しなくなったという問題に直面しました。Server 2003はうまく機能しました。問題は、より新しいバージョンのIISとCOMオブジェクトのアクセス許可にあります。私は非常にVFP9を使用してCOM .dllを構築することをお勧めします。 Regsvr32は.dllをレジストリに登録しますが、それはもはや十分ではありません。コンポーネントサービスを使用すると、新しいCOMアプリケーションを作成し、コンパイルされた.dllファイルと.tlbファイルを新しいコンポーネントとして追加する必要があります。次に、 "ユーザー"アカウントとパスワードをCOMオブジェクトに割り当てて、必要なディレクトリやデータベースへの読み取り/書き込みアクセス権を確保します。また、Foxpro9を右クリックし、dllをコンパイルする前に管理者として実行を選択してください。

関連する問題