我正在尝试在本地IIS中托管ASP.NET Core 2.0 WebApplication,但是我发现以下错误:值不能为null。参数名称:名称
launchSettings.json文件如下所示:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "http://localhost/zoyotravel",
"sslPort": 0
},
"iisExpress": {
"applicationUrl": "http://localhost:56472/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Zoyo Travel": {
"commandName": "IIS",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:56473/"
}
}
}
程序类看起来很喜欢这个:
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
启动类看起来像这样:
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true
});
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
});
}
}
到目前为止我尝试了什么?
问题似乎不在代码中。它也是一个标准的asp.net core 2.0 Web应用程序。我没有碰到代码本身。我只是试图在IIS中托管该网站。
有人能帮助我吗?
答案 0 :(得分:2)
我现在多次遇到过同样的问题。最初我教过我在某种程度上弄乱了一些东西,因为我第一次启动应用程序一切正常,但重新启动后,“值不能为空。参数名称:名称”错误再次出现。 在对IIS进行了一些实验之后,我发现创建并将应用程序注册到具有完全相同规范的新应用程序池,iisreset可以解决此问题。缺点是,只要出现此错误,您就必须执行此操作。这样做之后只需在我现在拥有的两个池之间切换,iisreset就足够了。 希望能帮助到你!
答案 1 :(得分:2)
我有同样的问题。我花了半天时间尝试一切我能想到的事情。
最后,我想到了
这是
appsettings.json
嵌套的问题。
我不得不从json文件中删除额外的}
。
由于我在这里看不到您的appsetting.json
文件,因此您的情况也可能存在问题。希望这会有所帮助。
答案 2 :(得分:0)
我在进行调试(F5)时遇到了同样的问题。
解决方法如下:
答案 3 :(得分:0)
在我的情况下,问题与“ uriString”有关。我不知道为什么,但是关闭Visual Studio并打开解决了该问题。我希望它可以帮助某人。