2017-10-19 4 views
0

TLDR;私は、実際に開発しているライブラリ用のNetStandard 2.0と、テスト用の.Net Framework 4.6.2(あるいは、代わりにdotnetcore 2.0)の混合ソリューションを持っています。 travis.ymlを設定してライブラリとテストプロジェクトを構築する方法。netstandard20とframework462に対してトラビスでドットネットソリューションを構築

私は実際に残りのAPIのクライアントで作業しています。 .NET標準2.0をプロジェクトタイプとして使用することに決めました。これはRESTベースのAPIなので、Newtonsoft.Jsonを使用してコンテンツを逆シリアル化してシリアル化しました。

問題が発生しました:NugetパッケージNewtonsoft.Json 10.0.3は、NetStandard 2.0を現在サポートしていません。しかし、私はab3315fのコミットが見つかりました。そこで、NuGetで新しいバージョンが利用できるようになるまで、私はレポをクローンし、自分自身でnetstandardライブラリを作成しました。

私はこのポスト下記のCIシステムトラヴィスにプロジェクトを追加しました:https://rimdev.io/building-net-core-on-travis-ci/

今、私は自分のライブラリーのためのユニットテストと統合テストを実行するためにNUnitのを使用して、私のソリューションにテストプロジェクトを追加しました。いいえ、私は2つの問題に直面していると私は1つを解決する必要があります:

問題1:私のテストプロジェクトは、私のtravis.ymlには、完全なソリューションを正しく構築するためのモノはインストールされていません。 ここで私の質問:私の.travis.ymlを変更して、ソリューション内で両方のプロジェクトタイプを構築する方法。私はトラヴィスビルドをテストしていない理由です

System.IO.FileNotFoundException : Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null'. 

:私のテストプロジェクトの目標はdotnetcore、私の地元のビルド作品が、私はローカルでテストを実行しようとすると、私はランタイムエラーを取得:

問題2これが解決策であれば、私はローカルで最初に実行したいと思っています。なぜそれが依存関係を見つけられないのかわかりません。

問題1または問題2のいずれかの提案はありますか?

答えて

0

ニュートンソフトのJT-10.0.3のパッケージをdotnetcoreのテストプロジェクトに追加しましたが、そこでは直接使用されていませんでした。今すぐランタイムエラーが表示されます。だから私はローカルでもリモートでもテストすることができ、travis CIにプロジェクトをビルドさせることができます。

+0

パッケージリファレンスまたは 'packages.config'を使用していますか? .NET Standardを採用するには、VS 2017 15.4以上など、すべてのMicrosoft最新ツールを使用する必要があります。 xUnit.netを使用していますが、ここにはhttps://blog.lextudio.com/tips-for-net-core-unit-testing-92a8d123a17aの例があります。 –

関連する問題