私のソリューションには2つのプロジェクトがあります。まず、.NET標準1.3をターゲットとする移植可能なライブラリです。このライブラリはJson.NETに依存しています。そのproject.jsonは、次のようになります。.NET 4.6.1アプリケーションから.NET Standard 1.3ライブラリを参照すると依存関係が機能しない
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0",
"Newtonsoft.Json": "9.0.1"
},
"frameworks": {
"netstandard1.3": {}
}
}
図書館だけで、この単純なクラスで構成されています
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestLibrary
{
public class TestClass
{
public static string Foo() {
return JsonConvert.SerializeObject(42);
}
}
}
第二のプロジェクトは完全な.NETに4.6.1フレームワークをターゲットコンソールアプリケーションです。このコンソールアプリケーションは、上記のライブラリを参照します。コードは以下の通りです:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
var x = TestLibrary.TestClass.Foo();
}
}
}
を、私はそれをビルドして実行することができるよ、しかし、例外を以下にTestLibrary.TestClass.Foo()
結果を呼び出す:
は、バージョン= 9.0のファイルまたはアセンブリ」Newtonsoft.Jsonをロードできませんでした。 0.0、Culture = neutral、PublicKeyToken = 30ad4fe6b2a6aeed 'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。 ":" Newtonsoft.Json、バージョン= 9.0.0.0、文化=中立、なPublicKeyToken = 30ad4fe6b2a6aeed」私のbinフォルダには
Newtonsoft.Json.dll
はありません
私が持っています。 Visual Studio 2015 Update 3(KB3165756)がインストールされています(14.0.25431.01、2011年9月14日リリース)。また、.NET Core 1.0.1 VS 2015ツーリングプレビュー2.
グーグルでは、 a)私は何か間違っているかどうか分からないb)ツールはこのシナリオをまだサポートしていないがc)Visual Studioのインストールが何らかの形で壊れている。
EDIT:complete solution to reproduceです。
ClassLibraryとコンソールアプリケーションの両方が.NET Coreアプリケーションですか?私は両方を作成します。NETコアのClassLibraryとコンソールアプリケーションの説明に基づいて、私はエラーメッセージが表示されません。可能であれば、サンプルプロジェクトを提供することをお勧めします。自分のアプリを自分のプロジェクトで実行して、プロジェクトやVSのインストールに問題がないかどうかを確認します。 –
いいえ、.NETコアではありません。ライブラリは.NET Standard 1.3をターゲットとするPCLであり、コンソールアプリケーションは完全な.NET 4.6.1フレームワークをターゲットとしています。サンプルプロジェクト[here](http://www.esentio.sk/temp/testdependencies.zip)を見つけることができます(GitHubは現在使用できません)。 – Stalker