从研究 NuGe 来看,似乎所有版本的 Auto-Fixture 都依赖于 .NET Framework 和 .NET Standard。
在测试 .NET Core 项目时,测试库需要 .NET Framework 依赖项并不一定要求 .NET Core 应用程序也依赖于 .NET Framework。
但总体情况意味着不存在仅依赖于 .NET Standard 的 Auto-Fixture 版本。
是这样吗?
答案 0 :(得分:0)
.NET 项目引用 NuGet 包的方式与您在问题中暗示的不同。
NuGet 包只不过是 ZIP 档案,通常包含一些文件(安装时项目将引用这些文件)和一些元数据。
通常,面向多个 .NET(.NET Framework、.NET Standard 等)的 NuGet 包将为使用每个支持的目标框架构建的二进制文件提供单独的目录。
默认情况下,当 .NET 项目安装 NuGet 包时,它将查找针对最新版本的 .NET 的二进制文件,与项目的目标版本兼容。
在撰写本文时,AutoFixture 支持 .NET Framework 4.5、.NET Standard 1.5 和 .NET Standard 2.0。
当您构建 .NET Core 测试项目时,仅将从 AutoFixture 包中复制使用最新支持的 .NET Standard 版本构建的程序集, 进入您的输出目录。它不会复制使用 .NET Framework 构建的二进制文件。此外,这绝对不会向您的 .NET Core 项目添加 .NET Framework 依赖项。
要查看将选择哪个版本,您可以访问此 page 并查找您的目标框架。