我真的很喜欢新的.csproj
格式。它比可怕的(有限的)好多了project.json
.
但是,我正在努力解决一件事。我已将我的(多个)测试项目合并为一个多目标项目。
<TargetFrameworks>netcoreapp1.0;net40;net35</TargetFrameworks>
但是,Visual Studio 的测试资源管理器中似乎没有任何工具来选择目标框架——它总是只运行第一个框架。我找到了一个解决方法 - 添加一个 <TargetFramework>
具有特定框架的元素...
<TargetFramework>net35</TargetFramework>
但是,有没有什么方法可以在不手动编辑 MSBuild ( .csproj
) 文件的情况下选择目标框架?我正在 GUI 中寻找一些选项来执行此操作 - 特别是这样我就不必记得编辑 .csproj
文件以便在调试测试之前切换框架,或者记住必须在发布之前删除这一行。
最佳答案
我知道问题是关于 VS 的,但我发现在针对多个框架时很有用 dotnet tests
命令 will run tests for all frameworks在<TargetFrameworks>
节点:
> dotnet test
...
Test run for [projectPath]\bin\Debug\netcoreapp1.1\XUnitTestProject.dll(.NETCoreApp,Version=v1.1)
...
Test run for [projectPath]\bin\Debug\net461\XUnitTestProject.dll(.NETFramework,Version=v4.6.1)
...
NCrunch还可以识别多个目标并自动为每个目标运行测试:
关于c# - 如何在 Visual Studio 2017/2019 中为特定目标框架运行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43554028/