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": { }
},
'dnx451'の代わりに' dnx46'を使ってみましたか? – Pawel
'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の最新リストはどこで入手できますか? –
私はあなたが 'net46'を試すことができると思います - このエリアはrc1の後にたくさんの乱れを見ました。これが最終的に落ち着くと、これを説明する書類がいくつかあります。 – Pawel