针对 netstandard20 和 framework462 在 travis 中构建 dotnet 解决方案
build dotnet solution in travis against netstandard20 and framework462
TLDR;我有一个混合解决方案:NetStandard 2.0 用于我实际开发的库,.Net Framework 4.6.2(或者 dotnetcore 2.0)用于测试。如何配置 travis.yml 来构建库和测试项目。
我实际上正在为客户端工作休息 api。我决定使用 .NET Standard 2.0 作为项目类型。由于它是基于 api 的 REST,我决定使用 Newtonsoft.Json 来反序列化和序列化内容。
出现问题:nuget 包Newtonsoft.Json 10.0.3 目前不支持NetStandard 2.0。但我发现提交 ab3315f 确实如此。所以我克隆了 repo 并自己构建了 netstandard 库作为解决方法,直到新版本在 NuGet 中可用。
我将项目添加到 CI 系统 travis 之后post:https://rimdev.io/building-net-core-on-travis-ci/
现在,我使用 Nunit 向我的解决方案添加了一个测试项目,以 运行 为我的库进行单元测试和集成测试。不,我面临 2 个问题,我需要解决一个:
问题 1:当我的测试项目以 .NET Framework 为目标时,我能够毫无问题地执行所有单元测试,但现在 travis 根据我的 travis.yml 抱怨没有安装单声道来构建正确完成解决方案。
我的问题是:如何更改我的 .travis.yml 以在解决方案中构建两种项目类型。
问题 2:当我的测试项目以 dotnetcore 为目标时,我的本地构建工作正常,但是当我尝试在本地执行测试时,出现 运行时间错误:
System.IO.FileNotFoundException : Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null'.
这就是为什么我现在没有测试 travis build 的原因,因为如果这是解决方案,我想先在本地获取它 运行ning。不知道为什么找不到依赖
对问题 1 或问题 2 有什么建议吗?
我最终将 Newtonsoft.Json 10.0.3 的 NuGet 包添加到我的 dotnetcore 测试项目中,尽管它没有直接在那里使用。现在运行时错误消失了。所以我也可以在本地和远程进行测试,让 travis CI 构建我的项目。
TLDR;我有一个混合解决方案:NetStandard 2.0 用于我实际开发的库,.Net Framework 4.6.2(或者 dotnetcore 2.0)用于测试。如何配置 travis.yml 来构建库和测试项目。
我实际上正在为客户端工作休息 api。我决定使用 .NET Standard 2.0 作为项目类型。由于它是基于 api 的 REST,我决定使用 Newtonsoft.Json 来反序列化和序列化内容。
出现问题:nuget 包Newtonsoft.Json 10.0.3 目前不支持NetStandard 2.0。但我发现提交 ab3315f 确实如此。所以我克隆了 repo 并自己构建了 netstandard 库作为解决方法,直到新版本在 NuGet 中可用。
我将项目添加到 CI 系统 travis 之后post:https://rimdev.io/building-net-core-on-travis-ci/
现在,我使用 Nunit 向我的解决方案添加了一个测试项目,以 运行 为我的库进行单元测试和集成测试。不,我面临 2 个问题,我需要解决一个:
问题 1:当我的测试项目以 .NET Framework 为目标时,我能够毫无问题地执行所有单元测试,但现在 travis 根据我的 travis.yml 抱怨没有安装单声道来构建正确完成解决方案。 我的问题是:如何更改我的 .travis.yml 以在解决方案中构建两种项目类型。
问题 2:当我的测试项目以 dotnetcore 为目标时,我的本地构建工作正常,但是当我尝试在本地执行测试时,出现 运行时间错误:
System.IO.FileNotFoundException : Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null'.
这就是为什么我现在没有测试 travis build 的原因,因为如果这是解决方案,我想先在本地获取它 运行ning。不知道为什么找不到依赖
对问题 1 或问题 2 有什么建议吗?
我最终将 Newtonsoft.Json 10.0.3 的 NuGet 包添加到我的 dotnetcore 测试项目中,尽管它没有直接在那里使用。现在运行时错误消失了。所以我也可以在本地和远程进行测试,让 travis CI 构建我的项目。