'IServiceCollection' 不包含 'AddSession' 的定义
'IServiceCollection' does not contain a definition for 'AddSession'
使用 VS2017 在 ASP.Net Core 1.1 中添加 'AddSession' 时出现错误。
'IServiceCollection' does not contain a definition for 'AddSession'
and no extension method 'AddSession' accepting a first argument of
type 'IServiceCollection' could be found (are you missing a using
directive or an assembly reference?)
.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>
错误:
依赖项的版本似乎不同步。使用 Nuget 将所有包更新为相同版本,这应该可以解决问题。这适用于大多数(如果不是全部的话)Microsoft.* 包。
您还需要以下 using 语句:
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using System;
我通过以下方式解决了问题。
- 清理并重建解决方案。
- 重启 Visual Studio 2017.
感谢@HenkMollema
我知道这有点晚了,但是您是否尝试从 nuget 安装 Microsoft.AspNetCore.Session 包?
https://www.nuget.org/packages/Microsoft.AspNetCore.Session/
在Visual Studio中:
安装包 Microsoft.AspNetCore.Session - 版本 1.1.2(在我的例子中)
对我有用!
确保你有
<PackageReference Include="Microsoft.AspNetCore.Session" Vesion="1.1.1" />
(或更新版本)在您的 .csproj 文件中。
看来你错过了什么。在程序包管理器控制台中,写入:
install-package Microsoft.AspNetCore.Session -version x.x.x
x.x.x 取决于您的项目参考
运行 在您的包管理器控制台中执行以下命令
Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection
使用 VS2017 在 ASP.Net Core 1.1 中添加 'AddSession' 时出现错误。
'IServiceCollection' does not contain a definition for 'AddSession' and no extension method 'AddSession' accepting a first argument of type 'IServiceCollection' could be found (are you missing a using directive or an assembly reference?)
.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>
错误:
依赖项的版本似乎不同步。使用 Nuget 将所有包更新为相同版本,这应该可以解决问题。这适用于大多数(如果不是全部的话)Microsoft.* 包。
您还需要以下 using 语句:
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using System;
我通过以下方式解决了问题。
- 清理并重建解决方案。
- 重启 Visual Studio 2017.
感谢@HenkMollema
我知道这有点晚了,但是您是否尝试从 nuget 安装 Microsoft.AspNetCore.Session 包?
https://www.nuget.org/packages/Microsoft.AspNetCore.Session/
在Visual Studio中: 安装包 Microsoft.AspNetCore.Session - 版本 1.1.2(在我的例子中)
对我有用!
确保你有
<PackageReference Include="Microsoft.AspNetCore.Session" Vesion="1.1.1" />
(或更新版本)在您的 .csproj 文件中。
看来你错过了什么。在程序包管理器控制台中,写入:
install-package Microsoft.AspNetCore.Session -version x.x.x
x.x.x 取决于您的项目参考
运行 在您的包管理器控制台中执行以下命令
Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection