РЕДАКТИРОВАТЬ 1 : я испытываю ту же проблему с приложениями ASP NET Core 2.0, использующими ту же конфигурацию, поэтому это исключает сам фреймворк.Следующие потенциальные виновники: .NET Core 2.1 SDK (v2.1.300) или плохое обновление Visual Studio (15.7.3).
У меня естьстранная проблема с IIS 10 и ASP NET Core 2.1.0 при отладке моего API.
У меня был веб-сайт IIS " api.local " с приложением ASP NET Core 2.0 " v1"внутри него.
Приложение" v1 "настроено на использование пула приложений" api.local ", созданного при создании веб-сайта.Этот пул приложений настроен следующим образом:
- .Net CLR Версия: Нет управляемого кода
- Режим управляемого конвейера: Интегрирован
- Идентичность: ApplicationPoolIdentity
Для отладки в Visual Studio 2017 (15.7.3) я использую следующий launchSettings.json
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "https://api.local/v1",
"sslPort": 0
}
},
"profiles": {
"IIS": {
"commandName": "IIS",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"launchBrowser": true,
"launchUrl": "graphiql/"
}
}
}
И все работало нормально.
Теперь, каждый раз, когда я начинаю отладку, создается новый пул приложений IIS с именем "v1 AppPool" (а затем "v1 AppPool 2" и т. Д.) И изменение конфигурации веб-сайта "v1" для использования этого вновь созданного IISApplicataion pool.
Я не уверен с тех пор, когда, но я думаю, что это начало происходить после того, как я обновил следующие пакеты nuget до версии 2.1.0:
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Localization" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel.Https" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
Для справки, вот моя инициализация WebHostBuilder:
public static IWebHost BuildWebHost(string[] args) =>
new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.ConfigureLogging((hostingContext, logging) =>
{
if (hostingContext.HostingEnvironment.IsDevelopment())
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
logging.AddDebug();
}
})
.UseIISIntegration()
.UseDefaultServiceProvider((context, options) =>
{
options.ValidateScopes = context.HostingEnvironment.IsDevelopment();
})
.UseStartup<Startup>()
.Build();
У кого-нибудь есть идеи о том, что я могу сделать, чтобы решить эту проблему?