web-dev-qa-db-fra.com

'IServiceCollection' ne contient pas de définition pour 'AddSession'

Je reçois une erreur lors de l'ajout de 'AddSession' dans ASP.Net Core 1.1 à l'aide de VS2017.

'IServiceCollection' ne contient pas de définition pour 'AddSession' et pas de méthode d'extension 'AddSession' acceptant un premier argument de le type 'IServiceCollection' pourrait être trouvé (il vous manque une directive using ou une référence 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>

Erreur :

 enter image description here

7
RajeeshMenoth

La manière suivante j'ai résolu le problème.

  1. Nettoyer et reconstruire la solution.
  2. Redémarrez Visual Studio 2017.

Merci @ HenkMollema

4
RajeeshMenoth

Vous devez inclure le paquet Nuget suivant 

AutoMapper.Extensions.Microsoft.Dependencyinjection

13
Neeraj Kumar

Je sais que c'est un peu tard, mais avez-vous essayé d'installer le package Microsoft.AspNetCore.Session à partir de nuget?

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

Dans Visual Studio: Install-Package Microsoft.AspNetCore.Session - Version 1.1.2 (dans mon cas)

Cela a fonctionné pour moi!

6
Lewis86

Assurez-vous que vous avez

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

(ou une version plus récente) dans votre fichier .csproj

1
coolhand

Les versions des dépendances semblent être désynchronisées. Utilisez Nuget pour mettre à jour tous vos paquets pour qu'ils aient la même version, ce qui devrait résoudre le problème. Ceci s’applique à la plupart, sinon à tous les packages Microsoft. *.

Aussi, vous avez besoin des instructions using suivantes:

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

Dans mon cas, AutoMapper.Extensions.Microsoft.DependencyInjection (v1 était installé). AutoMapper.Extensions.Microsoft.DependencyInjection v5.0.1 désinstallé et installé

0
Patrick