草庐IT

Non-debuggable

全部标签

c# - 在 watch/debugger 中查看 LINQ 查询的结果

有没有一种方法可以在VisualStudio2010中查看LINQ查询的结果?如果您将查询添加为监视表达式,它将显示“表达式不能包含lambda表达式”。在一些测试代码中,我汇总了一些child的一堆指标的总和,并将总和与他们parent的相同指标的值进行比较(深层嵌套if-else)。我所有的查询都在if语句中。如何在不将结果分配给局部变量的情况下查看这些值?分配使我的行数加倍,除了调试之外没有任何好处。有没有人有变通方法来在调试器中查看LINQ查询的结果? 最佳答案 您目前不能在VisualStudio的监视列表中使用lambd

c# - LINQ to SQL insert-if-non-existent

我想知道是否有更简单的方法来插入表中尚不存在的记录。我仍在努力培养我的LINQtoSQL技能。这是我得到的,但似乎应该有更简单的方法。publicstaticTEntityInsertIfNotExists(DataContextdb,Tabletable,Funcwhere,TEntityrecord)whereTEntity:class{TEntityexisting=table.SingleOrDefault(where);if(existing!=null){returnexisting;}else{table.InsertOnSubmit(record);//Can'tuse

c# - 为什么 Visual Studio Debugger 不枚举 BitArray 并显示结果?

对于下面这行C#代码:BitArraybitty=newBitArray(new[]{false,false,true,false});如果我在Watch窗口中计算“bitty”,我看不到集合的成员。如果我计算应该枚举IEnumerable并显示结果的“bitty,results”,我会收到消息“只有Enumerable类型可以有结果View”,即使BitArray是一个IEnumerable。调试器为什么要这样做?澄清:我问的是VS调试器表达式计算器内部发生了什么,而不是问如何在调试器中查看BitArray.. 最佳答案 结果Vi

c# - The non-generic method cannot be used with type arguments in this context 是什么意思?

我有以下类和方法:publicclassUserManager:IDisposablewhereTUser:class,global::Microsoft.AspNet.Identity.IUserwhereTKey:global::System.IEquatable{publicvirtualTaskFindByIdAsync(TKeyuserId);和:privateApplicationUserManager_userManager;publicApplicationUserManagerUserManager{get{return_userManager??Request.Ge

c# - Debugger.Launch 不工作

我目前正在尝试为在外部(而不是从visualstudio中)启动的进程启动调试器。我似乎无法真正启动调试器,因为它似乎什么也没发生。在此过程中,我添加了这段代码:Debug.Assert(Debugger.IsAttached==false,"Shouldbenodebugger");if(!Debugger.IsAttached){Debug.Assert(Debugger.Launch(),"Debuggernotlaunched");}Debugger.Break();Debug.Assert(Debugger.IsAttached==true,"Debuggershouldbe

c# - Entity Framework : Alternate solution to using non primary unique keys in an association

我知道EntityFramework不允许您使用非主唯一键作为外键关联从数据库生成模型。我可以手动修改EDMX吗?如果是这样,有人可以给我一个例子或引用吗?如果不是,还有其他可能吗?最简单的例子:这是表的DDL。您会注意到我有一个从PersonType.TypeCode到Person.TypeCode的外键CREATETABLE[dbo].[PersonType]([PersonTypeId][int]NOTNULL,[TypeCode][varchar](10)NOTNULL,[TypeDesc][varchar](max)NULL,CONSTRAINT[PK_PersonType]

c# - "The debugger cannot continue running the process."

我一直在搞乱VS2010调试设置,试图让.NETFramework正常工作。好吧,我无法让它工作。我也尝试过ReflectorVS插件,它曾一度有效。然后我随机开始收到这个错误:当我在调用IEnumerable.ToList()的行上设置断点时,这仅发生.如果我尝试单步跳过或单步进入我设置断点的那一行,我会收到此错误对话框并且我的调试session结束。如果我将断点移动到下面的行,调试器会使其通过ToList()打电话!我试过以下方法都无济于事:删除Reflector插件。在“工具”>“选项”>“调试”窗口中撤消我的更改(取消选中进入.NETFramework的选项;取消选中源服务器选

c# - 低级差异 : non-static class with static method vs. 静态类与静态方法

我想知道使用具有静态方法的非静态类与具有相同静态方法的静态类的一般好处(或缺点)是什么,除了我不能使用非静态类中的静态方法作为扩展方法。例如:classNonStaticClass{publicstaticstringGetData(){return"Thiswasinvokedfromanon-staticclass.";}}与此相比:staticclassStaticClass{publicstaticstringGetData(){return"Thiswasinvokedfromastaticclass.";}}使用一种方法优于另一种方法对性能/内存有何影响?注意:假设我不需要

c# - 有人知道输出 "Module is optimized and the debugger option ' Just My Code' is Enabled”吗?

正如我在previous问题中所说,我正在将我的应用程序迁移到WindowsMetro应用程序。我得到这样的输出我不明白这个输出,如果有人知道请告诉我! 最佳答案 通常,您不需要模块加载消息,但默认情况下它们是打开的。工具->选项->调试->输出窗口->模块加载消息->关闭 关于c#-有人知道输出"Moduleisoptimizedandthedebuggeroption'JustMyCode'isEnabled”吗?,我们在StackOverflow上找到一个类似的问题:

c# - 无法使用 VS Debugger Interop 执行语句

我正在编写一个调试器扩展VSPackage,我想在遇到断点时在调试进程中执行一条语句。在我的扩展代码中,我有这个:voidInitialize(){//...standardvspackageinitcodeomitted...Globals.Init((DTE2)GetService(typeof(DTE)));Globals.DebuggerEvents.OnEnterBreakMode+=(dbgEventReasonreason,refdbgExecutionActionaction)=>{try{vare1=Globals.Application.Debugger.GetEx