8

我经常需要调试/测试我的代码或其中的一小部分。

一种方法当然是运行我正在开发的应用程序,或者在开发类库时创建一个小型测试应用程序。

另一种方法是创建一个仅用于调试目的的单元测试并在 Visual Studio 中运行它。

但是,如果我不想编写额外的代码(如一次性单元测试)并且我不想启动整个应用程序(需要一些时间来启动并导航到我想要调试的代码)怎么办?

有没有办法在 Visual Stuio 中运行一小部分代码分别解释 C# 代码?

编辑

我知道LINQPad

但有时我想知道例如Form运行时的外观或组件是否能够与数据库通信。所以 LINQPad 在这些情况下不适合我的需求......

4

6 回答 6

8

我使用 linqpad http://www.linqpad.net/来快速测试 c# 代码。

于 2012-06-14T14:32:43.823 回答
3

另一种选择是下载最新的Roslyn 社区预览版,并使用C# Interactive Window进行操作。它是预发布软件,因此不支持整个 C# 功能集,但已经非常接近了。

于 2012-06-14T14:33:42.820 回答
2

看看LINQPad。它非常适合尝试代码片段。不要被名字吓到,它支持 C#/F# 程序和表达式。

于 2012-06-14T14:33:41.813 回答
2

快速测试的另一个选择是Scratchpad.cs。通常,这比仅仅为了尝试一个想法而创建命令行项目要好。

于 2012-06-14T14:34:39.180 回答
2

看看F# 解释器

我经常用它来测试小代码示例。

假设您有一些这样的代码:

namespace ConsoleApplication5
{
    public class Test
    {
        public Int32 Sum(int a, int b)
        {
            return a + b;
        }
    }
    ...
}

启动 F# Interactive 窗口,为您的程序集添加一个引用,然后开始调试!

> #I @"C:\PathToYourProject\bin\debug";;
--> Added .... to library include path
> #r "ConsoleApplication5.exe";;
--> Referenced ...
> let t = ConsoleApplication5.Test();;
val t : ConsoleApplication5.Test
> t.Sum(9, 7);;
val it : int = 16
> 
于 2012-06-14T14:35:17.170 回答
0

不管你信不信,PowerShell 使用 .NET 框架。您可以从 PowerShell 调用任何内置 C# 类。

假设您正在尝试测试该String.Substring方法。

打开 PowerShell

然后调用函数类型:

"some string".Substring(2,1) # returns 'm'

或者假设你想测试一个更复杂的内置类

foreach($line in [System.IO.File]::ReadLines("C:\path\to\file.txt"))
{
     $line
}

[System.IO.File]和说是一样的using System.IO.File;

PowerShell 的美妙之处——它是 C# 的控制台……但没人知道。

于 2018-08-22T21:55:22.837 回答