2016-04-07 18 views
1

古典的な.net CallContextは、AsyncLocal.NET 4.6 ...に置き換えられ、ASP.NETコアで利用できます。私はSimpleInjector is using itの最新バージョンに気付きました。AsyncLocalへのアクセス方法

ただし、私はdnx451 ASP.NET Coreプロジェクトで使用できません。

私は、次の2つの宣言することができます:

using System.Threading; 
using System.Threading.Tasks; 
... 
static ThreadLocal<string> foo = new ThreadLocal<string>(); 
static AsyncLocal<string> tenant = new AsyncLocal<string>(); 

このメッセージによって示されるように最初のものは、罰金ですが、2番目の1が適切に定義されていません。

AspAsyncLocal.DNX 4.5.1 - Not Available 
AspAsyncLocal.DNX Core 5.0 - Available 

私は何を行方不明?私project.jsonには、以下の依存関係があります。

"dependencies": { 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final", 
}, 

"frameworks": { 
    "dnx451": { 
    "dependencies": { 
     "System.Threading": "4.0.11-beta-23516" 
    } 
    }, 
    "dnxcore50": { } 
}, 
+0

'dnx451'の代わりに' dnx46'を使ってみましたか? – Pawel

+0

'dnx46'?以来、それはオプションでしたか? VSテンプレートはデフォルトで 'dnx451'であり、利用可能なTFMのリストには' dnx46'が含まれていません(http://docs.nuget.org/create/targetframeworks)。確かに、私はちょうど[.netプラットフォーム標準で 'dnx46'(https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md)と書かれていますが、これは推奨されなくなりました...置き換えが何であるかは述べていません。おそらく私は更新されたVSプロジェクトテンプレートが必要でしょうか?ツール/エクステンションには更新が表示されません。適切なTFMの最新リストはどこで入手できますか? –

+0

私はあなたが 'net46'を試すことができると思います - このエリアはrc1の後にたくさんの乱れを見ました。これが最終的に落ち着くと、これを説明する書類がいくつかあります。 – Pawel

答えて

1

dnx46代わりのdnx451を使用してみてください。

関連する問題