gpt4 book ai didi

c# - "Method ...ClassInitialize has wrong signature ..."是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 04:42:26 25 4
gpt4 key购买 nike

在我的 Visual Studio 2012 解决方案中,我有一个用于单元测试 C++/CLI 代码的 C# 项目,例如

...
using System.IO;
using Stuff;

namespace MyCLIClassTest
{
[TestClass]
public class MyCLIClassTest
{
public MyCLIClassTest() {}

[ClassInitialize]
public static void Setup(TestContext testContext)
{
}

[TestMethod]
public void LibraryAccessTest()
{
...
}
}
}

现在,C# 测试全部失败,并显示类似“Method MyCLIClassTest.MyCLIClassTest.ClassInitialize 的签名错误。该方法必须是静态的、公共(public)的、不返回值并且应该采用 TestContext 类型的单个参数。”

删除 ClassInitializer 后,我得到“无法为类 MyCLIClassTest.MyCLIClassTest 设置 TestContext 属性。错误:System.ArgumentException:类型为‘Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation’的对象无法转换为类型‘Microsoft。 VisualStudio.TestTools.UnitTesting.TestContext'..

最佳答案

我使用了较旧的单元测试框架版本的 DLL。发生这种情况是因为项目最近迁移到了 VS2012。

因此,在测试项目下的解决方案资源管理器中,您会找到“引用”。右键单击它并选择“添加引用...”以打开引用管理器。搜索“unittest”并检查版本号为 10.1.0.0 的 Microsoft.VisualStudio.QualityTools.UnitTestFramework。取消选中此程序集的所有其他版本。单击“确定”关闭管理器。

enter image description here

关于c# - "Method ...ClassInitialize has wrong signature ..."是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749537/

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