我有一些MSTest项目需要同时针对netcoreapp1.1以及一些更新的东西,比如netcoreapp3.0
我已经尝试了其中的大部分建议:
https://www.meziantou.net/mstest-v2-testing-against-multiple-frameworks.htm
然而,我的结果总是:
dotnet test只运行netcoreapp3.0目标。没有一个netcorapp1.1或netcoreapp2.0被捕获,崩溃。
StreamJsonRpc.RemoteInvocationException: The following TestContainer was not found 'C:\Projects\fact\collection\src\Fact.Extensions.Collection.Tests\bin\Debug\netcoreapp1.1\Fact.Extensions.Collection.Tests.dll'
at StreamJsonRpc.JsonRpc.<InvokeCoreAsync>d__96`1.MoveNext()发布于 2020-01-12 23:39:20
在编写这个问题时,我推断最新的Microsoft.NET.Test.Sdk (编写本文时为16.4.0)可能与以前的框架不兼容。我对这两种理论都进行了测试:
ItemGroup+PackageReference
netcoreapp1.1的15.3.0返回到netcoreapp2.0目标之一的16.3.0
在这样做后:
dotnet test几乎找到了所有东西,但仍然没有找到16.3.0 + netcoreapp2.0目标。这似乎是通过进一步退到16.2.0来纠正的,因为Microsoft.TestPlafrom.TestHost 16.3.0有一个netcoreapp2.1,仍然有投诉,但是能够找到15.3.0和16.3.0 Microsoft.NET.Test.Sdk推荐的项目。
这与Bruno Garcia在developercommunity链接中的发现是一致的。我不认为回滚一个解决方案,而是考虑一个解决办法。通过使用条件通过TargetFramework进行过滤,我觉得这个解决方案更好一些。
更有帮助的是Visual发出的更多警告,即版本依赖问题确实导致了问题。如果你仔细观察的话,dotnet test确实在这个领域给出了一些反馈。
https://stackoverflow.com/questions/59709081
复制相似问题