0

何らかの理由で、64 ビット アプリケーションを起動できません。エラーが表示されます:

14:17:41:587 Error: The type initializer for 'Va.MBClient.Program' threw an
 exception.

Unhandled Exception: System.TypeInitializationException: The type initializer fo
r 'Va.MBClient.Program' threw an exception. ---> System.IO.FileNotFoundExce
ption: Could not load file or assembly 'CGateCliAdapter.dll' or one of its depen
dencies. The specified module could not be found.
   at Va.MBClient.Program..cctor()
   --- End of inner exception stack trace ---
   at Va.MBClient.Program.Main(String[] args) in c:\Oleg\projects\Va.M
BClient\Va.MBClient\Program.cs:line 87

private static CGateCliAdapterMain cliAdapter = new CGateCliAdapterMain();CLIライブラリを参照する行をコメントアウトすると、アプリケーションを起動できるため、どういうわけかこれは私のCLI DLLファイルに接続されています。

私はVisual Studioでこれを見ます:

Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state)
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart()
[Native to Managed Transition]

バインディングの失敗をキャッチするために使用しようとしましたfuslogvwが、何らかの理由でキャッチできません! そのため、問題のトラブルシューティング方法がわかりません。

Dependency Walkerを使用しましたが、次のファイルが見つからないことがわかりました。

MSVCR110.DLL
GPSVC.DLL
IESHIMS.DLL
MF.DLL
MFPLAT.DLL
MFREADWRITE.DLL
WLANAPI.DLL

アプリケーションを含むフォルダーに直接コピーしようとしましたが、それは役に立ちました (DLL ファイルが見つからないリストから消えました)。しかし、 Visual C++ Redistributable for Visual Studio 2012 をwlanapi.dllインストールしたときに DLL ファイルが表示されないのはなぜですか? インストールを再インストールして修復しようとしました。

また、DLL ファイルMSVCR110.DLLMSVCP110.DLL.

どうしてか分かりません。Visual Studio 2012 用の Visual C++ Redistributable を何度も再インストールしようとしました。


アップデート:

なんらかの理由でプログラムを実行できません。1 日後、Dependency Walker は DLL ファイルが見つからないと再び主張します。ただし、「Visual Studio 2012 用の Visual C++ 再頒布可能パッケージ」があります。

4

1 に答える 1

0

解決策を見つけました。Visual Studio 2012 用の Visual C++ 再頒布可能パッケージをインストールする必要があります。

于 2012-11-25T13:26:57.650 に答える