首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不使用tfs quebuild将单元测试项目dll复制到解决方案输出文件夹?

使用TFS Quebuild将单元测试项目DLL复制到解决方案输出文件夹的原因有以下几点:

  1. 解决方案输出文件夹的作用是存放编译后的可执行文件和相关依赖文件,而单元测试项目DLL通常不是解决方案的一部分,而是用于测试的辅助文件。将单元测试项目DLL复制到解决方案输出文件夹可能会导致混淆和冗余。
  2. 单元测试项目DLL通常是在测试过程中使用的,而不是在最终部署和运行时使用的。将其复制到解决方案输出文件夹可能会增加部署和运行时的复杂性,而且可能会引入不必要的安全风险。
  3. 使用TFS Quebuild进行持续集成和自动化构建时,通常会有一系列的构建步骤和规则,包括编译、测试、打包等。将单元测试项目DLL复制到解决方案输出文件夹可能会破坏这些构建规则,导致构建过程出现错误或不一致。
  4. 单元测试项目DLL通常是由测试框架自动生成和管理的,例如NUnit、xUnit等。这些测试框架通常会在运行测试时自动加载和使用这些DLL,而不需要手动复制到解决方案输出文件夹。

综上所述,不建议使用TFS Quebuild将单元测试项目DLL复制到解决方案输出文件夹。相反,应该依赖测试框架的自动化机制来管理和使用这些DLL,以确保测试的正确性和一致性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

记将一个大型客户端应用项目迁移到 dotnet 6 的经验和决策

在经过了两年的准备,以及迁移了几个应用项目积累了让我有信心的经验之后,我最近在开始将团队里面最大的一个项目,从 .NET Framework 4.5 迁移到 .NET 6 上。这是一个从 2016 时开始开发,最多有 50 多位开发者参与,代码的 MR 数量过万,而且整个团队没有一个人能说清楚项目里面的所有功能。此项目引用了团队内部的大量的基础库,有很多基础库长年不活跃。此应用项目当前也有近千万的用户量,迁移的过程也需要准备很多补救方法。如此复杂的一个项目,自然需要用到很多黑科技才能完成到 .NET 6 的落地。本文将告诉大家这个过程里,我踩到的坑,以及学到的知识,和为什么会如此做

01

Roslyn 打包 NuGet 包 BuildTransitive 文件夹用于穿透依赖传递拷贝文件

默认的 PackageReference 可以实现传递依赖,传递依赖的含义是是假定 B 项目安装了 A 库,而 C 项目依赖 B 项目,那么 C 项目将会自然拿到 A 库的 DLL 引用。但默认的 NuGet 包的构建指导文件 targets 命令是不会在传递执行的,也就是如上的 C 项目将不会执行 B 项目安装的 A 库里面的 target 内容 有一些项目需要拷贝自定义文件,例如拷贝图片或者一些 Native 的 DLL 等资源。如 WPF 框架需要拷贝 PenIME 等资源。如果只是在最底层的项目安装了库,那为了让可执行文件项目也输出库的资源,就需要在可执行项目上也安装库。以上的方法的不足在于安装复杂,也许会忘记安装 本文告诉大家一个解决方法是通过在制作库的时候,加上 BuildTransitive 文件夹,在此文件夹内添加构建指导文件,此时这个构建指导文件 targets 文件里面的命令将会在传递中执行,也就是说只需要在底层的项目安装即可,不需要在可执行项目上也安装库

01
领券