VS2017を使用してASP.Net Core 1.1に「AddSession」を追加しているときにエラーが発生します。
「IServiceCollection」には「AddSession」の定義が含まれておらず、タイプ「IServiceCollection」の最初の引数を受け入れる拡張メソッド「AddSession」が見つかりません(usingディレクティブまたはAssembly参照がありませんか?)
。csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Session" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference
Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
</ItemGroup>
</Project>
エラー:
次の方法で問題を修正しました。
ありがとう@HenkMollema
次のNugetパッケージを含める必要があります
AutoMapper.Extensions.Microsoft.Dependencyinjection
私はこれが少し遅れていることを知っていますが、nugetからMicrosoft.AspNetCore.Sessionパッケージをインストールしようとしましたか?
https://www.nuget.org/packages/Microsoft.AspNetCore.Session/
Visual Studioの場合:Install-Package Microsoft.AspNetCore.Session -Version 1.1.2(私の場合)
それは私のために働いた!
依存関係のバージョンは同期していないようです。 Nugetを使用して、すべてのパッケージを同じバージョンに更新し、問題を解決する必要があります。これは、すべてではないにしてもほとんどのMicrosoft。*パッケージに適用されます。
また、次のusingステートメントが必要です。
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using System;
持っていることを確認してください
<PackageReference Include="Microsoft.AspNetCore.Session" Vesion="1.1.1" />
(または最新バージョン).csprojファイル内
私の場合、AutoMapper.Extensions.Microsoft.DependencyInjection(v1がインストールされました)。 AutoMapper.Extensions.Microsoft.DependencyInjection v5.0.1をアンインストールおよびインストールしました
何かを見逃したようです。パッケージマネージャーコンソールで、次のように記述します。
install-package Microsoft.AspNetCore.Session -version x.x.x
x.x.xはプロジェクト参照に依存します