gpt4 book ai didi

sql-server - 将 SQL Server 单元测试项添加到 visual studio 2017 中的单元测试项目时出错

转载 作者:行者123 更新时间:2023-12-03 12:48:24 26 4
gpt4 key购买 nike

在 visual studio 2017 中将 SQL Server 单元测试项添加到单元测试项目时出现以下错误:

The reference "Microsoft.VisualStudio.QualityTools.UnitTestFramework, 
Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL" could not be added to the project.
This wizard will continue to run, but the resulting project may not build properly.

enter image description here

该项目之后似乎构建良好,但所有 sql 单元测试都失败并出现以下错误:

Test Name:  SqlTest1
Test FullName: UnitTestProject1.SqlServerUnitTest1.SqlTest1
Test Source: c:\[path]\SqlServerUnitTest1.cs : line 34
Test Outcome: Failed
Test Duration: 0:00:00.0278356

Result StackTrace:
at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo culture, BindingFlags invokeAttr)
at System.Reflection.MethodBase.CheckArguments(Object[] parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, Signature sig)
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index)

Result Message:
Unable to set TestContext property for the class
UnitTestProject1.SqlServerUnitTest1.
Error: System.ArgumentException: Object of type
'Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.TestContextImplementation'
cannot be converted to type 'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'..

[我已经解决了这个问题,并将在下面添加我的修复作为答案,我创建这个是为了记录解决方案,以供其他人发现它有帮助。如果其他人遇到过这种情况并且可以阐明原因,我仍然会感兴趣]

最佳答案

这似乎与自动引用的包中的测试工具版本不匹配有关。

这是我修复它的方法:

  1. 从项目中删除对 Microsoft.VisualStudio.TestPlatform.TestFrameworkMicrosoft.VisualStudio.TestPlatform.TestFramework.Extensions 的引用。

  2. 然后添加对 Microsoft.VisualStudio.QualityTools.UnitTestFramework 的新引用。您会在引用对话框的程序集 -> 扩展列表下找到它。您可能会发现有两个副本,都列为版本 10.1.0.0。在这种情况下,您应该检查每个文件的版本,您会发现一个是 14.0.23107.0,一个是 15.0.26228.0,这就是您想要的 15.x。

更改这些引用后,一切正常。

关于sql-server - 将 SQL Server 单元测试项添加到 visual studio 2017 中的单元测试项目时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43835841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com