2016-09-08 15 views
0

私は、Entity Frameworkを使用して共有プロジェクトを持つ概念ソリューションの証拠を作成しています。私は共有プロジェクトをUWPプロジェクトと.Net Coreウェブサイトで参照させたいと思います。プロジェクトを参照し、Entity Framework Coreを正しく使用しているWebサイトを取得できました。 UWPアプリに同じコードを使用させようとするとコンパイルされますが、実行時には失敗します。また、NetStandard1.4とNetStandard1.6を使用してフレームワークを変更しようとしましたが、Entity Framework Coreが正しく機能しません。.Net Coreプロジェクトと.Net Core WebサイトとUWPアプリケーションを共有するにはどうすればよいですか?

私の共有プロジェクトは.Net Coreクラスライブラリです(VSの実際の共有プロジェクトタイプではありません)。

ここでは、UWPアプリケーションを実行するとエラーが発生します。私はDbContextから継承する新しいContextクラスを作成しようとしたときに発生します: mscorlib.ni.dllに発生した「System.IO.FileLoadException」タイプの

例外をが、ユーザーコードで処理されなかった

追加情報: 'System.Runtime、Version = 4.1.0.0、Culture = neutral、 PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つをファイルまたはアセンブリをロードできませんでした。アセンブリのマニフェスト定義の がアセンブリ の参照と一致しません。 (例外からのHRESULT:0x80131040)

私は共有プロジェクトのために持っているproject.jsonはここにあります。

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
    "NETStandard.Library": "1.6.0", 
    "System.ComponentModel.Annotations": "4.1.0", 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    } 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 

    } 
} 

ここUWPプロジェクトのproject.json

{ 
    "dependencies": { 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2" 
    }, 
    "frameworks": { 
    "uap10.0": { 
     "imports": [ 
     "netcoreapp1.0" 
     ] 
    } 
    }, 
    "runtimes": { 
    "win10-arm": {}, 
    "win10-arm-aot": {}, 
    "win10-x86": {}, 
    "win10-x86-aot": {}, 
    "win10-x64": {}, 
    "win10-x64-aot": {} 
    } 
} 

ここでは、私はそれを考え出したウェブサイトのプロジェクト

{ 
    "dependencies": { 
    "Domain": "1.0.0-*", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.0", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0" 
    }, 

    "tools": { 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
    "BundlerMinifier.Core": "2.0.238", 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "Areas/**/Views", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "bower install", "dotnet bundle" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 
+0

jsonファイルだけで解決することはできません。これはあなたの共有プロジェクトですか? "netcoreapp1.0"とは何ですか?どのようなタイプのこの共有プロジェクトですか?ランタイムコンポーネントですか?正常にビルドできたら、例外がスローされた場所でデバッグしてください。 –

+0

私はnotcoreapp1.0を説明する方法がわかりませんが、私はstackoverflowの質問に多くの情報を見つけました:[リンク](http://stackoverflow.com/questions/36962930/whats-the-difference-between-the-new-netstandardapp -and-netcoreapp-tfms)。あなたが尋ねた追加情報を使って投稿を編集します。 – VorSiechtIP

答えて

0

UWPプロジェクトが.NETコアプロジェクトとうまく機能するかどうかはわかりません。 EFプロジェクトをポータブルクラスライブラリプロジェクトに変更しようとするかもしれません。

0

ためproject.jsonだだ、ブライスからの回答を参照してください。 Lambson on GitHub

+0

( "Inlined"答え) – bricelam

+0

@ bricelamさんの返信を回答としてマークして、このスレッドを終了することができます。 –

関連する問題