由于某种原因,我无法启动我的 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
不知何故,这与我的 CLI DLL 文件有关,因为当我注释掉private static CGateCliAdapterMain cliAdapter = new CGateCliAdapterMain();
引用 CLI 库的行时,我可以启动应用程序。
我确实在 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
我尝试wlanapi.dll
使用应用程序直接复制到一个文件夹,这有帮助(DLL 文件从丢失的列表中消失了),但是为什么当我安装Visual C++ Redistributable for Visual Studio 2012时 DLL 文件不可见?我已尝试重新安装并修复安装。
另外,我找不到 DLL 文件MSVCR110.DLL
和MSVCP110.DLL
.
我不知道为什么。我曾多次尝试为 Visual Studio 2012 重新安装 Visual C++ Redistributable。
更新:
现在我又因为某种原因无法运行我的程序!一天后,Dependency Walker 再次声称缺少 DLL 文件。但是,我确实有“Visual C++ Redistributable for Visual Studio 2012”。