我正在开发一个具有客户端和服务器端的项目。我正在编写一个“预签入”工具,它将验证我们在客户端和服务器之间的大量通信。
我已经对双方进行了单元测试,现在我真的很想测试两者之间的集成。
就像一个真正的客户端连接到服务器,反之亦然。
我正在尝试了解“TwitterSearch.UI.Console”是如何工作的,因为我认为斜纹布对我来说是一个很好的起点,但是在花了一些时间与之抗争之后,我认为最好在这里询问专业人士。
我正在使用这里的最新版本: https ://github.com/slodge/MvvmCross-Tutorials
与最新的二进制文件配对。
现在这是输出调试溢出:
mvx:诊断:0.01 设置:PlatformServices 启动 mvx:诊断:0.02 设置:MvvmCross 设置开始 mvx:诊断:0.02 设置:单例缓存启动 mvx:诊断:0.02 设置:引导操作 mvx:诊断:0.05 设置:StringToTypeParser 启动 mvx:诊断:0.05 设置:ViewModelFramework 启动 mvx:诊断:0.05 设置:PluginManagerFramework 启动 mvx:诊断:0.06 设置:应用程序启动 mvx:诊断:0.07 加载插件程序集:Cirrious.MvvmCross.Plugins.Visibility.Wpf 'TwitterSearch.UI.Console.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample - TwitterSearch\TwitterSearch.UI.Console\bin\Debug\TwitterSearch .Core.dll',已加载符号。 'TwitterSearch.UI.Console.vshost.exe'(托管(v4.0.30319)):加载'C:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample - TwitterSearch\TwitterSearch.UI.Console\bin\Debug\Cirrious .MvvmCross.Plugins.Visibility.dll',已加载符号。 mscorlib.dll 中出现了“System.IO.FileNotFoundException”类型的第一次机会异常 Cirrious.CrossCore.dll 中发生了“CrossCore.Exceptions.MvxException”类型的第一次机会异常
在异常详细信息中,插件管理器似乎将程序集的名称解析错误?
他正在尝试加载Cirrious.MvvmCross.Plugins.Visibility.Wpf
,.Console 应用程序引用的那个是Cirrious.MvvmCross.Plugins.Visibility.Console
.
以下是异常的更多详细信息:
Cirrious.CrossCore.Exceptions.MvxException 未处理 H结果=-2146233088 消息=无法加载文件或程序集“Cirrious.MvvmCross.Plugins.Visibility.Wpf”或其依赖项之一。该系统找不到指定的文件。 源 = Cirrious.CrossCore 堆栈跟踪: 在 Cirrious.CrossCore.Plugins.MvxPluginManager.ExceptionWrappedLoadPlugin(Type toLoad) 在 c:\Projects\Misc\MVVMCROSS\CrossCore\Cirrious.CrossCore\Plugins\MvxPluginManager.cs:line 136 在 Cirrious.CrossCore.Plugins.MvxPluginManager.EnsurePlatformAdaptionLoaded[T]() 在 c:\Projects\Misc\MVVMCROSS\CrossCore\Cirrious.CrossCore\Plugins\MvxPluginManager.cs:line 87 在 Cirrious.MvvmCross.Plugins.Visibility.PluginLoader.EnsureLoaded() 在 c:\Projects\Misc\MVVMCROSS\Plugins\Cirrious\Visibility\Cirrious.MvvmCross.Plugins.Visibility\PluginLoader.cs:line 23 在 TwitterSearch.Core.TwitterSearchApp.InitialisePlugIns() 在 c:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample - TwitterSearch\TwitterSearch.Core\TwitterSearchApp.cs:line 33 在 c:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample 中的 TwitterSearch.Core.TwitterSearchApp..ctor() - TwitterSearch\TwitterSearch.Core\TwitterSearchApp.cs:line 15 在 c:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample 中的 TwitterSearch.UI.Console.Setup.CreateApp() - TwitterSearch\TwitterSearch.UI.Console\Setup.cs:line 16 在 Cirrious.MvvmCross.Platform.MvxSetup.CreateAndInitializeApp(IMvxPluginManager pluginManager) 在 c:\Projects\Misc\MVVMCROSS\Cirrious\Cirrious.MvvmCross\Platform\MvxSetup.cs:line 272 在 Cirrious.MvvmCross.Platform.MvxSetup.InitializeApp(IMvxPluginManager pluginManager) 在 c:\Projects\Misc\MVVMCROSS\Cirrious\Cirrious.MvvmCross\Platform\MvxSetup.cs:line 265 在 Cirrious.MvvmCross.Platform.MvxSetup.InitializeSecondary() 在 c:\Projects\Misc\MVVMCROSS\Cirrious\Cirrious.MvvmCross\Platform\MvxSetup.cs:line 77 在 Cirrious.MvvmCross.Platform.MvxSetup.Initialize() 在 c:\Projects\Misc\MVVMCROSS\Cirrious\Cirrious.MvvmCross\Platform\MvxSetup.cs:line 36 在 TwitterSearch.UI.Console.Program.Run() 在 c:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample - TwitterSearch\TwitterSearch.UI.Console\Program.cs:line 21 在 TwitterSearch.UI.Console.Program.Main(String[] args) 在 c:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample - TwitterSearch\TwitterSearch.UI.Console\Program.cs:line 14 在 System.AppDomain._nExecuteAssembly(RuntimeAssembly 程序集,字符串 [] 参数) 在 System.AppDomain.ExecuteAssembly(字符串 assemblyFile,证据 assemblySecurity,String [] args) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ThreadHelper.ThreadStart_Context(对象状态) 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback 回调,对象状态,布尔值 preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态,布尔值 preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态) 在 System.Threading.ThreadHelper.ThreadStart() 内部异常:System.IO.FileNotFoundException H结果=-2147024894 消息=无法加载文件或程序集“Cirrious.MvvmCross.Plugins.Visibility.Wpf”或其依赖项之一。该系统找不到指定的文件。 源=mscorlib FileName=Cirrious.MvvmCross.Plugins.Visibility.Wpf FusionLog==== 预绑定状态信息=== 日志:用户 = LAGOA\Sergio 日志:DisplayName = Cirrious.MvvmCross.Plugins.Visibility.Wpf (部分的) 警告:为程序集提供了部分绑定信息: 警告:程序集名称:Cirrious.MvvmCross.Plugins.Visibility.Wpf | 域 ID:1 警告:仅提供部分程序集显示名称时会发生部分绑定。 警告:这可能会导致活页夹加载不正确的程序集。 警告:建议为程序集提供完全指定的文本标识, WRN:由简单的名称、版本、文化和公钥标记组成。 警告:有关此问题的详细信息和常见解决方案,请参阅白皮书 http://go.microsoft.com/fwlink/?LinkId=109270。 日志:Appbase = file:///C:/fileZ/projZ/samples/MvvmCross-Tutorials/Sample - TwitterSearch/TwitterSearch.UI.Console/bin/Debug/ 日志:初始 PrivatePath = NULL 调用程序集:Cirrious.CrossCore,Version=1.0.0.0,Culture=neutral,PublicKeyToken=e16445fd9b451819。 === LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件:C:\fileZ\projZ\samples\MvvmCross-Tutorials\Sample - TwitterSearch\TwitterSearch.UI.Console\bin\Debug\TwitterSearch.UI.Console.vshost.exe.Config LOG:使用主机配置文件: LOG:使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 中的机器配置文件。 LOG:此时未将策略应用于引用(私有、自定义、部分或基于位置的程序集绑定)。 日志:尝试下载新 URL 文件:///C:/fileZ/projZ/samples/MvvmCross-Tutorials/Sample - TwitterSearch/TwitterSearch.UI.Console/bin/Debug/Cirrious.MvvmCross.Plugins.Visibility.Wpf.DLL . 日志:尝试下载新的 URL 文件:///C:/fileZ/projZ/samples/MvvmCross-Tutorials/Sample - TwitterSearch/TwitterSearch.UI.Console/bin/Debug/Cirrious.MvvmCross.Plugins.Visibility.Wpf/Cirrious .MvvmCross.Plugins.Visibility.Wpf.DLL。 日志:尝试下载新 URL 文件:///C:/fileZ/projZ/samples/MvvmCross-Tutorials/Sample - TwitterSearch/TwitterSearch.UI.Console/bin/Debug/Cirrious.MvvmCross.Plugins.Visibility.Wpf.EXE . 日志:尝试下载新的 URL 文件:///C:/fileZ/projZ/samples/MvvmCross-Tutorials/Sample - TwitterSearch/TwitterSearch.UI.Console/bin/Debug/Cirrious.MvvmCross.Plugins.Visibility.Wpf/Cirrious .MvvmCross.Plugins.Visibility.Wpf.EXE。 堆栈跟踪: 在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName 文件名,字符串代码库,证据 assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark 和 stackMark,IntPtr pPrivHostBinder,布尔 throwOnFileNotFound,布尔 forIntrospection,布尔suppressSecurityChecks) 在 System.Reflection.RuntimeAssembly.nLoad(AssemblyName 文件名,字符串 codeBase,证据 assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark 和 stackMark,IntPtr pPrivHostBinder,布尔 throwOnFileNotFound,布尔 forIntrospection,布尔suppressSecurityChecks) 在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,证据 assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark 和 stackMark,IntPtr pPrivHostBinder,布尔 throwOnFileNotFound,布尔 forIntrospection,布尔suppressSecurityChecks) 在 System.Reflection.RuntimeAssembly.InternalLoad(字符串 assemblyString,证据 assemblySecurity,StackCrawlMark 和 stackMark,IntPtr pPrivHostBinder,Boolean forIntrospection) 在 System.Reflection.RuntimeAssembly.InternalLoad(字符串 assemblyString,证据 assemblySecurity,StackCrawlMark 和 stackMark,Boolean for Introspection) 在 System.Reflection.Assembly.Load(字符串 assemblyString) 在 Cirrious.CrossCore.Plugins.MvxFilePluginManager.LoadAssembly(Type toLoad) 在 c:\Projects\Misc\MVVMCROSS\CrossCore\Cirrious.CrossCore\Plugins\MvxFilePluginManager.cs:line 53 在 Cirrious.CrossCore.Plugins.MvxFilePluginManager.FindPlugin(Type toLoad) 在 c:\Projects\Misc\MVVMCROSS\CrossCore\Cirrious.CrossCore\Plugins\MvxFilePluginManager.cs:line 31 在 Cirrious.CrossCore.Plugins.MvxPluginManager.ExceptionWrappedLoadPlugin(Type toLoad) 在 c:\Projects\Misc\MVVMCROSS\CrossCore\Cirrious.CrossCore\Plugins\MvxPluginManager.cs:line 120 内部异常:
有人可以帮我弄清楚我是否做错了什么,或者插件是否真的试图加载错误的文件?
谢谢你,塞尔吉奥