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