如何在 Visual Studio 中调试类库

Posted

技术标签:

【中文标题】如何在 Visual Studio 中调试类库【英文标题】:How to debug a class library in Visual Studio 【发布时间】:2011-01-02 22:01:08 【问题描述】:

我正在开发 Visual Studio 2008 中的类库 (DLL) 项目;用 C# 编程。为了测试我的 DLL,我刚刚创建了第二个项目,它是一个控制台应用程序,在该项目中我可以引用第一个项目并运行测试。有没有更简单的方法来做到这一点?我可以在我的类库项目中创建另一个包含测试的文件,然后以某种方式告诉 Visual Studio 运行该文件吗?

我知道一种方法是将文本文件添加到我的项目中,然后在 JScript 中编写我的测试代码。然后在调试菜单上的项目设置中,我可以告诉它启动外部程序(JScript)。然后,我的测试文件的名称test.js 进入命令行参数框。但是,我想知道是否有办法使用 C# 代码而不是 JScript 来做到这一点?

【问题讨论】:

【参考方案1】:

您可以在当前解决方案中添加一个测试项目,然后将该项目设置为启动项目。然后,在您的类库项目上按 F5 将启动您的测试项目。

【讨论】:

【参考方案2】:

看看 NUnit 或其他类似的单元测试框架。

Visual Studio 的“Team Developer”和“Team Suite”风格已经内置了 Microsoft 的单元测试框架。

【讨论】:

+1 此外,如果您养成了进行测试驱动开发的习惯,您可能会发现您需要进行的调试会大大减少。 对 Joe 的回答的补充,此链接有望为您指明正确的方向,因为它将向您展示如何使用 NUnit 创建和运行测试。 en.csharp-online.net/…【参考方案3】:

通过在库中的类/方法中右键单击“创建单元测试”为类库创建单元测试项目。我建议下载TestDriven.NET 并在其中使用右键单击测试运行器。

【讨论】:

【参考方案4】:

您是在谈论单元测试吗?您可以使用 nUnit 之类的东西或 Visual Studio 附带的内置测试框架。最简单的测试只需要您向测试夹具添加一些属性并做出类似 obj1 == obj2 的断言。

查看测试驱动开发 (TDD)、领域驱动开发 (DDD) 或行为驱动开发 (BDD) 之类的内容可能会有所帮助。我自己喜欢将 nUnit 与 nBehave 一起使用。

【讨论】:

以上是关于如何在 Visual Studio 中调试类库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .NET Core 类库中引用 Visual Studio 共享项目

Visual Studio中如何安装第三方类库

Visual Studio 中类库的 Application Insights

如何在 Visual Studio 2019 16.8.1 中创建 .Net 5.0 类库项目?

Visual Studio中类库和可移植类库的区别

未加载符号文件以在 Visual Studio 2012 中调试自定义项目