C# 为什么dotnetvstest返回;“中没有可用的测试”;测试何时在vstest.console.exe中工作?
我有一个为.NETFramework 4.6中的测试项目构建的dll文件 当我执行C# 为什么dotnetvstest返回;“中没有可用的测试”;测试何时在vstest.console.exe中工作?,c#,.net,visual-studio,.net-framework-version,vstest,C#,.net,Visual Studio,.net Framework Version,Vstest,我有一个为.NETFramework 4.6中的测试项目构建的dll文件 当我执行vstest.console.exe test.dll时,测试运行正常,但当我执行dotnet vstest.dll时,它会显示 test.dll中没有可用的测试。请确保已注册测试发现者和执行者,并且平台和框架版本设置适当,然后重试 我想在dll上运行coverlet,但在我运行dotnet vstest之前,它似乎无法运行。我可以重现您的问题,但在我的情况下,我无法运行vstest.console.exe tes
vstest.console.exe test.dll
时,测试运行正常,但当我执行dotnet vstest.dll
时,它会显示
test.dll中没有可用的测试。请确保已注册测试发现者和执行者,并且平台和框架版本设置适当,然后重试
我想在dll上运行coverlet,但在我运行
dotnet vstest
之前,它似乎无法运行。我可以重现您的问题,但在我的情况下,我无法运行vstest.console.exe test.dll
或dotnet vstest.dll
。他们两人只是吐出了同样的错误:没有可用的测试
我使用NUnit作为我的测试框架来重现这个问题。为了解决这个问题,我添加了对Nunit3TestAdapter的引用,并重新构建了解决方案。然后,两个命令vstest.console.exe test.dll
和dotnet vstest.dll
都按预期工作
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="3.12.0" targetFramework="net46" />
<package id="NUnit3TestAdapter" version="3.16.1" targetFramework="net46" developmentDependency="true" />
</packages>
如果您使用的测试框架与NUnit不同,那么应该有一个相应的适配器来达到相同的目的
我已经验证了这对于MSTest也是有效的
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MSTest.TestAdapter" version="2.1.0" targetFramework="net46" />
<package id="MSTest.TestFramework" version="2.1.0" targetFramework="net46" />
</packages>
我们正在使用Microsoft.VisualStudio.TestTools。UnitTesting@agentq15该名称空间属于MSTest.TestFramework nuget包,其对应的适配器是MSTest.TestAdapter,因此请尝试。我已经证实,它们与我的回答中的NUnit一样协同工作。