小编ank*_*sen的帖子

VS 2017如何构建和测试包含.Net Core的混合解决方案

我有一个超过平均水平的复杂(我怀疑)解决方案,在升级到dotnet sdk 1.1和Visual Studio 2017后,我无法从命令行构建和测试.

它一直在VS 2015中使用dotnet sdk 1.0.0-preview2-003131,因此它在我们的构建服务器上的VS 2015和命令行中构建和运行.

但升级到VS 2017后我遇到了一些问题.

概述设置.我有一个大致如下所示的解决方案(现实生活中的更多项目)

MySolution.sln

  • FoundationClasses(x86,.Net Framework 4.5,csproj(遗留)
  • BusinessLogic(x86,.Net Framework 4.5,csproj(legcay)
    • 参考基础课程
  • WebApi(Dotnet Core WebApi,net451,x86(运行时(win8-x86,win10-x86))
  • TestProject(Dotnet Core,net451,x86)
    • 参考WebApi

在VS 2015中,这是通过在Git中存储restore.dg和project.fragment.lock.json来实现的,然后我可以运行dotnet restore,然后运行dotnet build和dotnet test.

升级到VS 2017后,当我从Visual Studio构建和运行时,一切正常.(迁移对基础项目的引用有一些麻烦 - 但删除了那些,并在迁移后重新读取,然后一切都很好)

'dotnet restore mySolution.sln'工作正常.它正确地恢复了WebApi和TestProject的包 - 并且与预览位相反,开箱即用.我不得不摆弄恢复和片段文件.

但是,如果我运行'dotnet build MySolution.sln -f net452 -r win10-x86',我会收到一堆构建错误.

如果我运行'dotnet msbuild MySolution.sln -f net452 -r win10-x86'就行了.

这是在概述的解决方案中从CLI工具构建的正确方法吗?

因此,对于构建和恢复,我可以从CLI和VS 2017中使用它.并且具有相同的结果.

但是为了测试,一致性停止了.

我可以在Visual Studio Test Explorer中运行测试就好了.Unittests运行良好,绿色.但是,我启动TestServer的集成测试失败,引用不匹配Microsoft.Extensions.DependencyInjection.Abstractions 1.0.0和1.1.0.

因此,测试链中的某些内容需要1.0.0的程序集,但在调试目录中只能找到1.1.0.

这可以通过程序集重定向来解决 - 但是相当多的程序集似乎是错误的/不匹配的.

如果我运行'dotnet test --no-build TestProject/TestProject.csproj',测试都是绿色的 - 没有问题.

如此突出的问题:

  • 'dotnet msbuild'是构建混合解决方案的正确方法吗?
  • 如果我在没有--no-build的情况下运行'dotnet test'它会在编译时失败 …

xunit.net .net-core asp.net-core-webapi visual-studio-2017

4
推荐指数
1
解决办法
2508
查看次数

在Bamboo中显示Asp.Net.Core XUnit测试结果

我刚刚用了大部分时间搞清楚这个.

这是问题所在:习惯在Bamboo中使用MSTest,它运行正常.

使用Asp.Net.Core的第一个项目,带有XUnit测试,需要在Bamboo中进行设置.

Bamboo不支持XUnit测试结果xml文件..叹气......

该怎么办?

xunit bamboo .net-core

3
推荐指数
1
解决办法
1014
查看次数