.net - 間違った - ファイルまたはアセンブリ '***。dll'またはその依存関係の1つを読み込めませんでした




指定されたアセンブリ名またはコードベースは無効です (7)

またはその依存関係の1つ

これは通常の問題です。Fuslogvw.exeでアンマネージドDLLが見つからないことはありません。 SysInternalsのProcMonユーティリティを実行することをお勧めします。 DLLを検索して見つからないことがわかります。 Dependency Walkerのプロファイルモードでも表示できます。

私はこのDLLを持っています。これはずっと前に作ったもので、私が開発する特定のソフトウェアのデータベースに接続するのに使います。 私はこのdllを使って4年以上にわたり何の問題もなく、無数のアプリケーションを持っていません。

最新の作成を展開しようとすると、次のエラーが表示されます。

System.IO.FileNotFoundException: Could not load file or assembly '***.dll' or one of its dependencies. The specified module could not be found.

だから、私が書いたすべてのdllに対して、私はいつもdllを単独でテストするための簡単なフォームアプリケーションを作った。 この単純なアプリケーションを実行すると、同じエラーが発生しました。 DLLはSystem、System.Data、System.XML以外のものをロードしたり使用したりしません。 だから、それの義務が行く限り、私は間違って何かを見ません。

ところで、すべてが開発ステーションで動作します。 問題は展開ステーションに限られています。 .NetとC ++ですべてを行うので、必要な再配布可能ファイルは、展開され、動作します。

FUSLOGVW.exeを実行すると、すべて正常に動作していることがわかりました。

depends.exeを実行して言った:警告:遅延ロード依存モジュール内のエクスポート機能がないため、少なくとも1つのモジュールに未解決のインポートがあります。

私はすでに全部の書き換えを試みました。 同じ結果が得られました。

誰にも手がかり?

EDITS

合計エラーメッセージは次のとおりです。

See the end of this message for details on invoking \"
just-in-time (JIT) debugging instead of this dialog box.\"

************** Exception Text **************\"
System.IO.FileNotFoundException: Could not load file or assembly 'connectionTo.dll' or one of its dependencies. The specified module could not be found.\"
File name: 'connectionToJobboss32.dll'\"
   at TESTConnection.Form1.button1_Click(Object sender, EventArgs e)\"
   at System.Windows.Forms.Control.OnClick(EventArgs e)\"
   at System.Windows.Forms.Button.OnClick(EventArgs e)\"
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)\"
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)\"
   at System.Windows.Forms.Control.WndProc(Message& m)\"
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)\"
   at System.Windows.Forms.Button.WndProc(Message& m)\"
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)\"
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)\"
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)\"
\"



************** Loaded Assemblies **************\"
mscorlib\"
    Assembly Version: 4.0.0.0\"
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)\"
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll\"
----------------------------------------\"
TESTConnection\"
    Assembly Version: 1.0.3996.18980\"
    Win32 Version: \"
    CodeBase: file:///C:/Program%20Files%20(x86)/conn/TESTConnection.exe\"
----------------------------------------\"
System.Windows.Forms\"
    Assembly Version: 4.0.0.0\"
    Win32 Version: 4.0.30319.1 built by: RTMRel\"
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll\"
----------------------------------------\"
System.Drawing\"
    Assembly Version: 4.0.0.0\"
    Win32 Version: 4.0.30319.1 built by: RTMRel\"
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll\"
----------------------------------------\"
System\"
    Assembly Version: 4.0.0.0\"
    Win32 Version: 4.0.30319.1 built by: RTMRel\"
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll\"
----------------------------------------\"

イベントビューアーにエラーはありません。


1)DLLを "Externals \ ffmpeg \ bin"からプロジェクトの出力ディレクトリ(実行可能な場所)にコピーします。 2)プロジェクトがx86ターゲット用に構築されていることを確認します(32ビットモードで実行)。

詳細はこのスレッドに従ってください


ネイティブDLLの依存関係を判断する簡単な方法は、Dependency Walker - http://www.dependencywalker.com/

私はネイティブDLLを分析し、それがMSVCR120.DLLとMSVCP120.DLLに依存していることを発見しました。どちらもSystem32ディレクトリのステージングサーバーにインストールされていませんでした。 ステージングサーバーにC ++ランタイムをインストールしましたが、問題は解決されました。


同じ問題があり、解決策のプロジェクトが同じ設定とプラットフォームを持っていることを確認することで解決しました(私の場合はDebug x64でした)。 どうやらVIsual Studioはプロジェクトの一部でx64が欠落していたため、手動で.slnファイルを編集しました(正しく構築されたプロジェクトから、必要な設定が欠落していたプロジェクトに構成とプラットフォームがコピーされました)。 これはプロジェクトの1つのように見えます:

{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|x64.ActiveCfg = Debug|x64
{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Debug|x64.Build.0 = Debug|x64
{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|Any CPU.Build.0 = Release|Any CPU
{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|x64.ActiveCfg = Release|x64
{1BA29980-EE5D-4476-AFFC-0F177B6C9865}.Release|x64.Build.0 = Release|x64

しかし、同じエラーが、依存関係にJavaファイル(* .jar)を持つプロジェクトで発生しました。 この値でレコードを作成するには、環境変数を手動で編集する必要がありました

C:¥Program Files¥Java¥jre1.8.0_171¥bin¥server

Javaのパスの場合は、Pathアイテムの上に置きます。

これにより、マシン上でJavaを更新するまでの問題が修正されました。 更新されたフォルダ名と一致するように、環境変数のバージョン番号を編集する必要がありました。

C:¥Program Files¥Java¥jre1.8.0_181¥bin¥server


私は昨日dllで同じ問題を抱えていて、参照されたのはSystem、System.Data、およびSystem.Xmlでした。 プラットフォームタイプのビルド構成が整列していないことがわかります。 dllはx86用にビルドされていて、それを使用するプログラムは "Any CPU"でした。私はx64マシンを実行しているので、x64としてプログラムを実行し、x86 dllに問題がありました。 私はこれがあなたの問題であるかどうかわからない、ちょうど私がチェックする何か他のものとして言及すると思った。


私は最近、この問題にぶつかりました。開発者マシンでは正常に動作し、最近インストールされたマシンでは他のマシンを選択します。 新しくインストールされたマシンはVisual C ++ 11 Runtimeがインストールされていたマシンでは動作しませんでした。 アプリケーションインストーラにVisual C ++ 11ランタイム再配布可能ファイルを追加すると、問題が解決しました ...


私も同じ問題がありました。 私にとっては、マシン上のローカルIISサーバーのデフォルト設定が原因でした。 だから、それを修正する簡単な方法は、代わりにビルトインのVisual Studio開発サーバーを使用することでした:)

x64マシンの新しいIISバージョンでは、32ビットアプリケーションがデフォルトで実行されないように設定されています。 ローカルIISで32ビットアプリケーションを有効にするには、IISマネージャーで関連するアプリケーションプールを選択し、[詳細設定]をクリックし、[32ビットアプリケーションを有効にする]を[False]から[True]に変更します





managed-c++