Silverlight 4.0 WCF RIA将在;“清洁溶液”;,那就行了

Silverlight 4.0 WCF RIA将在;“清洁溶液”;,那就行了,silverlight-4.0,wcf-ria-services,Silverlight 4.0,Wcf Ria Services,奇怪的问题是,我在过去一年里一直在从事的SL/WCF RIA服务项目刚刚开始出现。最近,每当我修复bug并重新运行应用程序时,我都会收到这条消息 查询“GetDepartments”的加载操作失败。执行命令定义时出错。有关详细信息,请参见内部异常。InnerException消息:批处理执行因调试器请求而终止 如果我“清理”解决方案,然后启动应用程序,那么一切都会再次正常工作 我已经试着去隔离确切的错误,但它发生在加载操作的回调期间,我不确定发生了什么 我打开了SQL Profiler,查询看起

奇怪的问题是,我在过去一年里一直在从事的SL/WCF RIA服务项目刚刚开始出现。最近,每当我修复bug并重新运行应用程序时,我都会收到这条消息

查询“GetDepartments”的加载操作失败。执行命令定义时出错。有关详细信息,请参见内部异常。InnerException消息:批处理执行因调试器请求而终止

如果我“清理”解决方案,然后启动应用程序,那么一切都会再次正常工作

我已经试着去隔离确切的错误,但它发生在加载操作的回调期间,我不确定发生了什么

我打开了SQL Profiler,查询看起来是一样的,我认为服务器上没有问题

如有任何提示,将不胜感激。它需要太长的时间来建立了


R

尝试禁用SQL调试,只是为了检查一下:


项目属性>调试>[取消选中]启用SQL Server调试

前面的答案应该会有所帮助。这链接到加载操作,因为此方法查询基础数据库(可能通过ORM,但这并不重要,重要的是打开SqlConnection的位置)。
如果您需要sql server调试,请在MS上查看,这说明了如何设置它(您需要管理员权限)
就“干净的解决方案”而言,我猜这与pdb与执行的程序集不匹配有关(在连接VS Debugger的进程中运行的程序集),这将禁用该程序集的调试,因此,不会引发异常

希望这有帮助,

Marco

清洁溶液有助于解决这一事实可能意味着两件事之一:

  • 您重新启动了解决方案,并重置了一些内容(连接池、线程、类加载器缓存等)。尝试在不清洗的情况下重新启动解决方案,以查看情况是否如此
  • 您的构建过程以某种方式在多个位置为同一代码生成DLL,并且当您进行基本构建时,其中只有一个得到更新。这可能会导致接口不匹配、序列化版本不匹配或其他类似问题。尝试在整个解决方案中搜索DLL名称,并查看它显示了多少个位置。然后进行基本构建,看看其中有多少更改了时间戳。类似地,尝试使用FileMon查看DLL的实际加载位置

  • FileMon-不熟悉该工具。我将研究它,以及它是如何与VS.TKSI一起使用的事实上,我的错。FileMon现在是。这只是SysInternals公司(自被微软收购以来)提供的众多绝对惊人的工具之一。确保你也看到了其他工具。