私は使っている:
.NET Command Line Tools (1.0.0-rc2-002439)
Product Information:
Version: 1.0.0-rc2-002439
Commit Sha: ef0c3b2cee
Runtime Environment:
OS Name: Windows
OS Version: 10.0.10586
OS Platform: Windows
RID: win10-x64
そして取得:
エラー CS0121: 次のメソッドまたはプロパティの間で呼び出しがあいまいです: 'Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection, System.Action)' と 'Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.Configure( Microsoft.Extensions.DependencyInjection.IServiceCollection、System.Action)」
「dotnet restore」には複数の OptionsModel アセンブリ (異なるバージョン) が含まれていると思われます。
証拠はここにあるかもしれません:
Project.lock.json ファイルには興味深い行がいくつかあります (「インフラストラクチャ」は参照アセンブリです)。
"Infrastructure/1.0.0": {
"type": "project",
"framework": ".NETFramework,Version=v4.6.1",
"dependencies": {
"Domain": "1.0.0",
"Microsoft.Extensions.Caching.Abstractions": "1.0.0",
"Microsoft.Extensions.OptionsModel": "1.0.0",
"Newtonsoft.Json": "8.0.3",
"WindowsAzure.Storage": "6.2.1"
},
"compile": {
"net461/Infrastructure.dll": {}
},
"runtime": {
"net461/Infrastructure.dll": {}
}
}
Web アプリケーションは Microsoft.Extensions.OptionsModel/1.0.0-rc2-15914 を使用しますが、
インフラストラクチャ アセンブリの構成セクションは次のとおりです。
"dependencies": {
"Domain": "1.0.0-*",
"Microsoft.Extensions.Caching.Abstractions": "1.0.0-*",
"Microsoft.Extensions.OptionsModel": "1.0.0-*",
"Newtonsoft.Json": "8.0.3",
"WindowsAzure.Storage": "6.2.1-*"
}
問題は、「dotnet restore」の実行中に異なるバージョン (1.0.0 と 1.0.0-rc2-15914) が選択されるのはなぜですか?
更新: Infrastructure プロジェクトの project.json を "Microsoft.Extensions.OptionsModel": "1.0.0-rc2-15914" に変更しようとしましたが、スクリーンショットに表示されるあいまいさのためにまだコンパイルできません。コンピューターのどこかにアセンブリがキャッシュされていますか?