web-dev-qa-db-ja.com

「IServiceCollection」には「AddSession」の定義が含まれていません

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>

エラー:

enter image description here

8
RajeeshMenoth

次の方法で問題を修正しました。

  1. ソリューションをクリーニングして再構築します。
  2. Visual Studio 2017を再起動します。

ありがとう@HenkMollema

5
RajeeshMenoth

次のNugetパッケージを含める必要があります

AutoMapper.Extensions.Microsoft.Dependencyinjection

14
Neeraj Kumar

私はこれが少し遅れていることを知っていますが、nugetからMicrosoft.AspNetCore.Sessionパッケージをインストールしようとしましたか?

https://www.nuget.org/packages/Microsoft.AspNetCore.Session/

Visual Studioの場合:Install-Package Microsoft.AspNetCore.Session -Version 1.1.2(私の場合)

それは私のために働いた!

10
Lewis86

依存関係のバージョンは同期していないようです。 Nugetを使用して、すべてのパッケージを同じバージョンに更新し、問題を解決する必要があります。これは、すべてではないにしてもほとんどのMicrosoft。*パッケージに適用されます。

また、次のusingステートメントが必要です。

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using System;
2
Stephen Wilson

持っていることを確認してください

<PackageReference Include="Microsoft.AspNetCore.Session" Vesion="1.1.1" />

(または最新バージョン).csprojファイル内

1
coolhand

私の場合、AutoMapper.Extensions.Microsoft.DependencyInjection(v1がインストールされました)。 AutoMapper.Extensions.Microsoft.DependencyInjection v5.0.1をアンインストールおよびインストールしました

0
Patrick

何かを見逃したようです。パッケージマネージャーコンソールで、次のように記述します。

install-package Microsoft.AspNetCore.Session -version x.x.x

x.x.xはプロジェクト参照に依存します

0
Daleman