2016-10-12 5 views
0

NuGetで公開する.NET Coreライブラリを作成しています。完全な.NET互換です。そうするには.NETの.NETコアライブラリを完全に追加する

、私は次のようにproject.jsonを設定します。

"frameworks": { 
    "netstandard1.1": { 
    "imports": "dnxcore50" 
    } 
} 

私はそのライブラリが(のはOtherLibそれを呼びましょう)完全な.NETライブラリを使用します。私は、OtherLibの.NETバージョンが私のライブラリのnetstandardバージョンと互換性がある限り、可能であると考えました。

は、しかし、それはない...ここに表示されるエラーです:ここでは私の完全なproject.json

Package OtherLib X.Y.Z is not compatible with netstandard1.1 (.NETStandard,Version=v1.1). Package OtherLib X.Y.Z supports: 
    - net40 (.NETFramework,Version=v4.0) 
    - net45 (.NETFramework,Version=v4.5) 

です

:私はそれで行うには、いくつかのトリッキーなものがあると疑われる

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "OtherLib": "X.Y.Z" 
    }, 
    "frameworks": { 
    "netstandard1.1": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

、それを稼働させるために、あるいは単純に可能ではないかもしれませんか?

ありがとうございます。 (私の英語のためにすみません、私はネイティブスピーカーではないよ)

答えて

1

は "net45" に "netstandard1.1" を変更することによって、あなたのproject.jsonを変更しよう:

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "OtherLib": "X.Y.Z" 
    }, 
    "frameworks": { 
    "net45": { 
     "imports": "dnxcore50" 
    } 
    } 
} 
+0

ありがとう!それは私が探していたものです! – fharreau

1

I thought it could be possible as long as the .NET version of OtherLib would be compatible with the netstandard version of my library.

いいえ、不可能です。 .Net Frameworkのバージョンはsupersetsの.Net Standardのバージョンです。 OtherLibは.Net Frameworkライブラリであるため、.Net標準ライブラリに依存することはできません。

.Net Frameworkでのみ実行するようにライブラリを制限するか、OtherLibの依存関係を削除する必要があります。 (可能であれば、あなたのライブラリの2つのバージョンを作ることによって:OtherLibに依存しない.Net標準のものと.Net Frameworkのためのもの)

+0

技術的な説明をありがとう! – fharreau

関連する問題