私のアプリケーションでは、Pinvokeを使用してwin32 dllで定義された関数を呼び出すアクターがあります。私はまた、これらの俳優を呼び出すフロントエンドWebサービスを持っています。PInvokeを使用してAzure Service Fabricでdllをロードする
これをローカルで実行すると、すべて正常に動作します。 win32のDLLが見つけられ、正しく読み込まれ、私の俳優はそこから関数を呼び出すことができます。
しかし、ソリューションをAzureにデプロイすると、アクターがdllを読み込もうとすると内部サーバーエラーが発生します。 Theresは説明的なエラーがないので、俳優がdllを見つけることができないか、その依存関係の1つを見つけることができないと思います。 私は依存関係ウォーカーを使用して依存関係を把握しようとしました。 vcruntime140.dllを除いてほとんどが典型的なWindowsバイナリでした。プロジェクトを右クリックし、Add> Existing Itemに移動し、ソリューションエクスプローラのリソースの "Copy to Output Directory"プロパティを "Copy always"に編集して、VSプロジェクトにリソースファイルとして追加しました。これはネイティブdllをサービスファブリックにデプロイする正しい方法ですか?私はリリースモードでも実行しているので、必要なデバッグDLLはないはずです。
いくつかの追加情報 - 私のプロジェクトは最初にWeb APIプロジェクトから移植されました。リリースモードでAzureでWeb APIをホストすると、Win32 DLLで関数を正常に呼び出すことができました。
私はいくつかの追加情報を提供する必要があるかどうか教えてください