Reqnroll 测试生成的问题

问题描述 投票:0回答:1

我使用 NUnit3 和 Reqnroll(以前称为 SpecFlow:该项目最初是使用 SpecFlow 创建的,后来迁移到 Reqnroll)为我的 .Net 应用程序创建了一个功能测试解决方案。

解决方案堆栈: .Net 4.6.2(在 Visual Studio 2022 中工作) NUnit 3.13 要求2.03 硒 4.23

起初,该项目似乎按预期运行:在 Visual Studio 中构建解决方案没有任何问题,测试被发现并按预期显示在测试资源管理器 VS 面板中,执行测试没有任何问题。

然后,几天前,该解决方案开始出现问题。由于与 NuGet 包相关的许多问题,构建失败。一点一点地,我解决了所有问题(主要是兼容性)并解决了问题。

然而,最后我还是被卡住了。

我的项目构建持续返回以下错误:

“GenerateFeatureFileCodeBehindTask”任务意外失败。 Reqnroll.ReqnrollException->Microsoft.Build.Framework.BuildException.GenericBuildTransferredException:无法加载插件程序集:XXX\packages\Reqnroll.SpecFlowCompatibility.2.0.0 uild et462\Reqnroll.SpecFlowCompatibility.Generator.ReqnrollPlugin.dll。请查看https://go.reqnroll.net/doc-plugins了解详情。 (框架:.NET Framework 4.8.9261.0)---> Microsoft.Build.Framework.BuildException.GenericBuildTransferredException:无法加载文件或程序集“file:///XXX” \packages\Reqnroll.SpecFlowCompatibility.2.0.0 uild et462\Reqnroll.SpecFlowCompatibility.Generator.ReqnrollPlugin.dll' 或其依赖项之一。不支持操作。 (来自 HRESULT 的异常:0x80131515) ---> Microsoft.Build.Framework.BuildException.GenericBuildTransferredException:尝试从网络位置加载程序集,这会导致程序集在早期版本的 .NET Framework 中被沙箱化。此版本的 .NET Framework 默认情况下不启用 CAS 策略,因此此负载可能很危险。如果此加载不是为了对程序集进行沙箱处理,请启用 loadFromRemoteSources 开关。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=155569。 块引用

我已经卸载并重新安装了项目中的所有NuGet包,并尝试了各种版本的NuGet依赖项,但没有成功。

我已经为此工作了一天,但距离问题的解决还没有更进一步。 我将非常感谢您提供指导或见解来帮助解决问题。 此外,我想首先了解这个问题出现的原因和方式(评估 Reqnroll 的实际实用性:显然不可靠的测试框架没有什么用处)。

感谢您的浏览。

.net nuget-package specflow reqnroll
1个回答
0
投票

在与这个问题苦苦挣扎数小时、删除软件包、重新安装、尝试不同的 .NET Framework 版本等等之后......我终于找到了解决方案:

通过关闭所有 Visual Studio 实例并清空位于 %localappdata%\Microsoft\VisualStudio .0_88bd8041\ComponentModelCache 的 Visual Studio 缓存解决了该问题

多么巨大的痛苦啊。 向微软嘘声。

© www.soinside.com 2019 - 2024. All rights reserved.