gpt4 book ai didi

c# - Program.cs 中的 System.MissingMethodException

转载 作者:太空狗 更新时间:2023-10-29 23:36:27 32 4
gpt4 key购买 nike

这个异常只是在创建宿主变量时出现在Program.cs中,我没有更新Program.cs中的任何东西所以我不知道为什么会出现。我已经尝试重新启动 VS 并删除解决方案中所有项目中的 bin 和 obj。

异常:

Method not found: 'System.Collections.Generic.Dictionary`2 Microsoft.Extensions.Configuration.IConfigurationBuilder.get_Properties()'.

程序.cs:

using Microsoft.AspNetCore.Hosting;
using System.IO;

namespace LC.Smokers
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseApplicationInsights()
.Build();

host.Run();
}
}
}

Startup.cs:

public class Startup
{
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}

public IConfigurationRoot Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
services.AddLocalization(options => options.ResourcesPath = "Resources");

services.AddSingleton<IActionContextAccessor, Models.ActionContextAccessor>();
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddSingleton<AppHelper>();
services.AddTransient<SessionHelper>();

services.AddDistributedMemoryCache();

services.AddSession(options =>
{
options.Cookie.Name = ".Smokers.Session";
options.IdleTimeout = TimeSpan.FromHours(2);
});

services.AddMvc()
.AddViewLocalization(Microsoft.AspNetCore.Mvc.Razor.LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();

if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Shop/Error");
}

List<CultureInfo> supportedCultures = new List<CultureInfo>
{
new CultureInfo("no-NB"),
new CultureInfo("en-US")
};

app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("no-NB"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});

app.UseSession();
app.UseStaticFiles();

app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Shop}/{action=Index}/{id?}");
});
}
}

最佳答案

原来这是使用 2.0.0 版的 Microsoft.AspNetCore.Session 包的问题,​​而项目的其余部分使用的是 2.0.0 预览版 2 最终版本。

我降级了软件包并且它有效。

关于c# - Program.cs 中的 System.MissingMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45646931/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com