【问题标题】:How to add an assembly reference in unit test project?如何在单元测试项目中添加程序集引用?
【发布时间】:2020-05-31 23:50:11
【问题描述】:

我想在我的单元测试项目中添加对程序集的引用,因为必须引用它才能调用要测试的方法,但是......我不能。我没有在 Visual Studio 的“添加引用”窗口中执行此操作的选项。我只能添加项目引用或浏览 dll 引用(见下图,左边是单元测试项目,右边是应用程序项目的“添加引用”窗口)

我有错误“类型是在未引用的程序集中定义的。您必须添加对程序集的引用。”但是当我继续并使用快速操作执行此操作时,没有任何反应。

为什么我不能添加对程序集的引用,还有其他方法可以解决缺少程序集的问题吗?

注意:使用 Visual Studio 2017

【问题讨论】:

  • 目标程序集是同一解决方案中的另一个项目,在 NuGet 包内,还是在磁盘上的 *.dll/*.exe 文件?
  • 我假设您的单元测试项目使用的是 .NET Core 或 .NET Standard 而不是 .NET Framework - 对吗?这是你想要或需要的吗?
  • @Dai 所需的目标程序集是 Microsoft 程序集。但是,单元测试项目确实是.NET Core。我假设您建议将其替换为 .NET Framework 单元测试项目来解决问题?
  • “Microsoft 程序集”是什么意思?如果您的意思是它是 .NET Framework 中的程序集,那么是的,您需要将测试项目更改为 .NET Framework 测试项目,而不是 .NET Core 测试项目。
  • @Dai 我想它是 .NET Framework 的一部分。该项目现在没有发现测试,所以我必须处理这个问题,但我想它解决了这个问题正在寻找的东西。将在我们讨论后发布问题的答案。

标签: reference .net-assembly test-project


【解决方案1】:

在与@Dai 讨论之后,程序集引用不可用,因为在 Visual Studio 中创建的 NUnit 测试项目是使用 .NET Core 而不是 .NET Framework 创建的。

要访问 .NET Framework 程序集,您需要创建一个 .NET Framework 单元测试项目,然后将 MS Test Framework 替换为 NUnit Test Framework。

【讨论】:

    猜你喜欢
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 2016-08-21
    相关资源
    最近更新 更多