2016-05-25 16 views
0

私は.netcoreapp1.0ための2つの特定の依存関係にdnx46から私のasp.net(コア)アプリを変換に苦労しています(Microsoft.Azure.ServiceBusSystem.IO.Ports.SerialPort依存性の問題1.0

正なので、私は、これらの機能は、最終的には1日、.NETのコアに着陸する予定という賭けを作る..しかし、その間によ、私はモニカから私のアプリを変換することがわかりましたdnx46.netstandard1.3では、ServiceBusの依存関係を解決できます。

解決するSystem.IO.Ports.SerialPortしかし、まだこの問題を解決する方法はわかりません。私はnet462フレームワークを.netstandard1.3モニカでインポートすると、System.IO.Ports.SerialPortオブジェクトを見つけることができますが、それはできません。

私には何が欠けていますか?参考のため

、私のproject.jsonがあります:

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0-rc2-3002702", 
     "type": "platform" 
    }, 
    "Microsoft.NETCore.Platforms": "1.0.1-*", 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-rc2-final", 
    [...more stuff...] 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     // To be restored when they'll become available on .net core 
     // "Microsoft.WindowsAzure.ConfigurationManager": "3.2.1", 
     // "WindowsAzure.ServiceBus": "3.2.1", 
     } 
    }, 
    "netstandard1.3": { 
     "buildOptions": { 
     "define": [ "INCLUDE_WINDOWSAZURE_FEATURE" ] 
     }, 
     // Imports of net462 fixes loading of 
     // - NewtonSoft.Json 
     // - System.Runtime.Loader for "Microsoft.NETCore.App" 
     "imports": [ 
     "net462" 
     ], 
     "dependencies": { 
     "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027" 
     "Microsoft.WindowsAzure.ConfigurationManager": "3.2.1", 
     "WindowsAzure.ServiceBus": "3.2.1", 
     } 
    } 
    } 
} 

答えて

2

解決System.IO.Ports.SerialPortは、しかし、まだ問題であり、私はこの仕事を作る方法を理解していません。 netstandard1.3モニカでnet462フレームワークをインポートすると、System.IO.Ports.SerialPortオブジェクトを見つけることができますが、それはできません。

.NET Frameworkまたは.NET Standardを対象としている場合は、System.IO.Ports.SerialPortを参照することはできません。この契約は完全な.NET Desktopフレームワークにのみ存在するためです。

このライブラリは最終的にはportedになる可能性がありますが、その間に.NET Coreではなく.NETデスクトップ(例:net462)を使用する必要があります。

netcoreapp1.0netstandard1.3を削除し、net462を追加すると正常に動作します。

+0

: 'net462'フレームワークの部分を持って、netcoreapp1.0'の輸入を行いますすべての 'AspNetCore'と' EntityFrameworkCore'機能を取得します。 – DarkUrse

+0

ASP.NETコアとEFコアの両方が.NET Desktopと互換性があるため(net462の 'netcoreapp1.0'をインポートすることはあまり意味がないので、' net462'に 'netcoreapp1.0'をインポートする必要はありません)とにかく) – Pinpoint

+0

Gotcha、あなたは正しい。最近の名前変更とバージョン変更のストームは私が恐れている:/私はEF * Core *とasp.net * core *実行しないでください。最初は混乱します。私が尋ねることができるなら、目的は何ですか?また、輸入セクションを使用する時期はいつですか? – DarkUrse

2

Windowsボックスにデプロイし、net452をターゲティングする予定の場合は、net452に依存してください。私はアップグレードの経験を共有するためにmigration guideをまとめました。それはおそらく助けになるでしょうか?私は当初、私がnetstandard1.*の従属を取ってから"import": "net4*"というデートファウラーが私に笑って「間違っているよ! :P

あなたはこのように見えるためにあなたの project.json frameworksを変更する必要があり

:私は実際に私は反対を行うこと気づいていなかった

"frameworks": { 
    "net462": { } 
    } 
+0

理想的には、.netコアでサポートされている任意のボックスにアプリケーションをデプロイできるようにしたいと考えています(特にWindowsのボックスではありません)。 net46 *のターゲット設定は、私が顧客に伝えた.netコアメリットに関するすべての広告の後に、フォールバック計画のように感じます。私はPinpointと 'netcoreapp1.0'を' net462'フレームワークにインポートするあなたの提案に従って、今、アプリケーションはコンパイルされます。この 'import/dependency'コンセプトについてDavid Fowlerとチャットしたので、あなたはimportが何をするのかについてより明確な考えを持っていますか? (このimport - > 'framework:{import:[}}'について話しています) – DarkUrse