草庐IT

entry-debug-standard-ark-signed

全部标签

c# - 在构建服务器 : Release or Debug code? 上进行单元测试

在.NET(C#)中,使用调试/发布构建进行单元测试有什么优点/缺点吗?您通常使用哪种目标配置在构建服务器上进行单元测试?重要吗?关于代码覆盖率(对于这个,我猜需要调试版本)。 最佳答案 我建议运行发布代码。出于几个原因。1)这是客户将要使用的代码。2)某些代码具有特殊的调试条件,这会在调试版本和发布版本之间产生差异。 关于c#-在构建服务器:ReleaseorDebugcode?上进行单元测试,我们在StackOverflow上找到一个类似的问题: http

c# - Debug.WriteLine() 与 Console.WriteLine() 处理文化的方式不同。为什么?

考虑以下控制台应用程序代码:Thread.CurrentThread.CurrentCulture=newCultureInfo("en-GB");Thread.CurrentThread.CurrentUICulture=Thread.CurrentThread.CurrentCulture;DateTimedate=newDateTime(2014,01,19);Console.WriteLine("{0}",date);//Prints19/01/2014Debug.WriteLine("{0}",date);//Prints01/19/2014Debug.WriteLine(d

c# - .NET Standard 1.4 的 Environment.MachineName 等效项

我正在创建一个将在WPF项目和.NETCore项目中使用的类库。我正在尝试使用我的应用程序获取机器的名称。在.NETCore和WPF应用程序中,我都可以使用Environment.MachineName值。但是在我的.NETStandard类库中我不能。我收到以下错误:'Environment'doesnotcontainadefinitionfor'MachineName'我尝试按照thisquestion中建议的答案进行操作但是当我尝试添加System.Windows.Networking.Connectivity.NetworkInformation.GetHostNames()

c# - #如果 DEBUG 被忽略(VB.net 或 C#)

我的代码中有几个到目前为止运行良好:#IfDEBUGThen...somecodehere#EndIf现在,我注意到最近“#IfDEBUGThen...#EndIf”中的代码也在“Release模式”下执行。这很奇怪,以前没有发生过。可能发生了什么#IfDEBUG现在被忽略(它们在IDE中的调试或最终可执行文件中都被忽略)?我已经应用了Clean、Rebuild等:没有运气。感谢您提供任何提示和帮助。-帕姆 最佳答案 首先,确保您了解运行代码的方式与构建代码的方式之间的区别。太多人将“在调试器中启动”与“调试版本”等同起来,将“不在

c# - .Net Standard 中 CompileToMethod 的替代方案

我现在正在将一些使用表达式的库移植到.NetCore应用程序并遇到一个问题,我的所有逻辑都基于LambdaExpression.CompileToMethod而它根本就没有in.这是示例代码:publicstaticMethodInfoCompileToInstanceMethod(thisLambdaExpressionexpression,TypeBuildertb,stringmethodName,MethodAttributesattributes){...varmethod=tb.DefineMethod($"__StaticProxy",MethodAttributes.P

c# - Visual Studio : debug multiple projects at the same time?

是否可以在VisualStudio中同时调试多个项目?我知道您可以从解决方案属性中选择多个启动项目,但如何处理断点?如果两个项目使用同一个类(它的两个不同实例),并且我在其中的一个断点处停止,它只会阻止一个程序还是两个程序?我怎么知道哪个可执行文件正在断点?我有点困惑。 最佳答案 是的,这是可能的。您可以在解决方案中设置多个启动项目(右键单击解决方案,转到设置启动项目,选择多个启动项目),并为包含在解决方案(无、开始、不调试就开始)。如果您将多个项目设置为开始,则调试器将在启动时附加到每个项目。当您遇到断点时,您可以使用调试位置工具

c# - 如何让 ToString() 出现在 Debug 中

我想让ToString()在Debug模式下为我控制的类显示。如果这是当您将鼠标悬停在变量上时首先显示的内容,那就太好了。这个有属性吗? 最佳答案 标记你的类(class)[System.Diagnostics.DebuggerDisplay("{ToString()}")]测试:[System.Diagnostics.DebuggerDisplay("{ToString()}")]classMyClass{privatestring_foo="Thisisthetextthatwillbedisplayedatdebugging"

c# - 在类库 (.NET Standard) 中找不到位图类

我想制作一个类库(.NET标准)并且我正在使用System.Drawing,但是我得到了错误:CS0246C#Thetypeornamespacename'Bitmap'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?)我正在使用.NETStandard2.0。 最佳答案 我是CoreCompat.System.Drawing的作者。如果您使用的是.NETCore2.0,我建议您转到System.Drawing.Common相反,这是Microsof

c# - 添加对 dll 的引用与在 .NET Standard 项目中添加 NuGet 包

我的解决方案中有一个.NETStandard2.0项目,我正在使用IConfiguration接口(interface)。当我写名字时,VS提示我引用Microsoft.Extensions.Configuration.Abstractions.dll。如果我这样做,它会添加到引用节点下。不过,我也可以将其添加为NuGet包。这两种方式似乎都有效。我假设引用VS建议是通过项目中引用的.NETStandardSDK添加的。添加该引用的推荐方法是什么?每种方法的优点和缺点是什么? 最佳答案 直接从手动下载或安装在已知位置的NuGet包引

c# - 如何在 C# 中全局定义常量(如 DEBUG)

我想根据#define定义的常量以不同方式编译项目,如下所示:#defineUSE_COMPONENT_X#ifUSE_COMPONENT_X...#endif我可以在C#中做到这一点。但是当我转到同一个项目中的另一个文件时,这个常量没有定义。我能否以某种方式为所有项目定义一个常量,例如DEBUG是这样定义的? 最佳答案 您可以添加/define编译器开关。打开项目的属性页对话框。单击配置属性文件夹。单击构建属性页。修改条件编译常量属性。 关于c#-如何在C#中全局定义常量(如DEBUG