ASP.NET Core 1.1은 로컬에서 정상적으로 실행되지만 Azure에 게시할 때 "애플리케이션 시작 중 오류가 발생했습니다."라고 표시됩니다.
ASP를 개발하고 있습니다.주로 Visual Studio 2017 RC2에서 제공되는 MVC 템플릿을 기반으로 하는 NET Core 웹 앱.로컬 디버깅 모드에서는 정상적으로 동작하지만 Azure 호스트 웹 앱에 게시하려고 하면 다음 오류가 나타납니다.
응용 프로그램을 시작하는 동안 오류가 발생했습니다.
.NET Core X86 v4.1.1.0 | Microsoft.AspNetCore.호스팅 버전 1.1.0-rtm-22752 | Microsoft Windows 6.2.9200
stdoutLogEnabled="true"
web . config web web web web web 。오류는 동일합니다.
업데이트:
도움을 받아 로그를 검색했더니 다음과 같이 되어 있습니다.
Application startup exception: System.TypeLoadException: Could not load type 'System.IO.File' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'.
at Microsoft.Extensions.DependencyModel.FileWrapper.OpenRead(String path)
at Microsoft.Extensions.DependencyModel.DependencyContextLoader.LoadEntryAssemblyContext(IDependencyContextReader reader)
at Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(Assembly assembly)
at Microsoft.Extensions.DependencyModel.DependencyContext.Load(Assembly assembly)
at Microsoft.AspNetCore.Mvc.Internal.DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts(String entryPointAssemblyName)
at Microsoft.Extensions.DependencyInjection.MvcCoreServiceCollectionExtensions.GetApplicationPartManager(IServiceCollection services)
at Microsoft.Extensions.DependencyInjection.MvcCoreServiceCollectionExtensions.AddMvcCore(IServiceCollection services)
at Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddMvc(IServiceCollection services)
at Bla.Api.Startup.ConfigureServices(IServiceCollection services) in C:\Users\user\Source\Workspaces\Bla\Bla.Api\src\Bla.Api\Startup.cs:line 73
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Hosting environment: Production
Content root path: D:\home\site\wwwroot
Now listening on: http://localhost:1264
Application started. Press Ctrl+C to shut down.
73행에서 나타내는 코드 행은 다음과 같습니다.
services.AddMvc();
업데이트:
global.json 파일은 다음과 같습니다(Bla).Api는 프로젝트의 이름으로, 파일은 솔루션 루트 폴더에 있습니다).
{
"projects": [ "Bla.Api" ],
"sdk": {
"version": "1.1.0"
}
}
이 에러 페이지의 원인이 되는 여러가지 문제가 있기 때문에, Azure(또는 그 문제의 서버/플랫폼)와 로그 취득을 겨루지 않고, 근본 원인을 빠르고 간단하게 특정하기 위해서, 이하의 것을 강하게 추천합니다.
Program.cs 파일에서및 액션을 설정하면 시작 시 매우 도움이 되는 개발자 친화적 오류 메시지를 활성화할 수 있습니다.
ASP의 경우.NET Core 1.x
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseSetting("detailedErrors", "true")
.UseIISIntegration()
.UseStartup<Startup>()
.CaptureStartupErrors(true)
.Build();
host.Run();
}
(2018/07) ASP 업데이트NET Core 2.1
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.CaptureStartupErrors(true)
.UseSetting("detailedErrors", "true")
.UseStartup<Startup>()
.Build();
}
- 이러한 설정은, 트러블 슈팅이 완료되는 대로 삭제해, 애플리케이션이 악의적인 공격에 노출되지 않게 할 필요가 있습니다.
sftp 클라이언트를 통해 연결하고 사이트/wwwroot 폴더의 모든 항목을 수동으로 삭제합니다.재게시
Azure에서 호스트한 애플리케이션을 MVC 4에서 .net core로 이행한 후 문제밖에 없었습니다.
몇 주 전 어느 시점에서는 성공적인 출판 후에 프로젝트를 실행할 수 없었습니다.앱 서비스 프로필 전체를 삭제하고 동일한 이름으로 다시 작성하려고 두 번 시도했습니다.하지만 앱 서비스 이름에 '2'를 붙였을 때(사용하지 않은 앱 서비스를 만들기 위해) 변경 사항이 0인 동일한 프로젝트를 게시하는 것은 완벽하게 수행되었습니다.삭제했다가 다시 만들지 않고 새 앱 서비스에 게시할 수 있는 경우 삭제는 정확히 무엇을 합니까?각 게시에서 대상 위치에서 기존 파일 제거가 선택되었지만 아무 작업도 수행되지 않았습니다.
제 #2 사이트의 OP 사진과 같은 에러가 오늘 발생했습니다.다수의 asp nuget 패키지를 업데이트하고 다시 배포하려고 시도한 후 발생했습니다.앱 서비스의 myApp3를 반복하고 싶지 않기 때문에 azure 개요 페이지에 있는 FTP 정보를 이용하기로 했습니다.Site/wwwroot로 이동하여 FTP 클라이언트에서 내부의 모든 내용을 삭제했습니다.그리고 나서 어플리케이션을 공개했고, 효과가 있었습니다.'삭제' 확인란이 제대로 작동하지 않는다는 결론만 내릴 수 있습니다.
여러분의 제안에 감사드립니다.하지만 결국 성공한 것은 공개하지 못한 Azure 웹 앱을 삭제하고 새로운 앱을 만드는 것뿐입니다.이전 런타임 환경의 일부 .dl이 아직 남아 있거나 업데이트되지 않은 것 같습니다.그게 뭐든 간에, 그걸 다시 만드는 건 효과가 있었어.이런 오류는 다시 발생하지 않기를 바랍니다. 프로덕션에서는 실제로 이런 작업을 수행할 수 없기 때문입니다.
global.json 파일을 변경해도 효과가 없는 것 같습니다.
템플릿에서 완전히 새로운 API를 작성하는 것도 도움이 되지 않았습니다.모든 것이 로컬에서 정상적으로 실행되고 있었기 때문에 Azure Web App 자체에 문제가 있었습니다.
다른 답변과 마찬가지로 로깅(및 루트의 "logs" 파일)을 추가하는 것이 매우 유용한 힌트입니다.그건 적어도 내가 올바른 방향으로 인도해 줬어., 「 」, 「 」로 합니다.dotnet --version
.
여러분의 도움에 다시 한 번 감사드립니다!
저도 같은 문제가 있어요.Azure에서는 도입되지 않았지만 로컬 머신을 서버로 사용하여 IIS에서 호스트하고 있습니다.
An error occurred while starting the application.
.NET Core X64 v4.1.1.0 | Microsoft.AspNetCore.Hosting version 1.1.1 | Microsoft Windows 10.0.14393 | Need help?
이 문제는 web.config를 변경하여 해결되었습니다.
첫째 first first first first stdoutLogEnabled = "true"
럼럼 then ★★★★★★★ ★stdoutLogFile=".\logs\stdout" />
을 사용하다
IIS 를 재기동하면, 로그 파일에서 실제의 문제를 찾을 수 있습니다.
wwwroot/your_application_folder에서 기존 dll을 모두 삭제하고 모든 게시 출력 파일 & 폴더를 복사합니다.
이 문제는 NUGETs가 직접 업데이트 했을 때 발생합니다.wwwroot/your_application_folder에서 기존 파일을 삭제하지 않으면 IIS에서 위의 오류가 나타납니다.
모든 것을 청소하고 다시 조립합니다.
질문이 중복될 수 있습니다. ASP를 참조하십시오.NET Core 호스팅 - 500 내부 서버 오류입니다.
빠른 답변:
설정할 필요가 있습니다.stdoutLogEnabled="true"
그리고.stdoutLogFile=".\logs\stdout"
또, 그 다음,logs
폴더를 수동으로 설정합니다.
제 경우, Fabook OAuth와 함께 사용할 사용자 비밀을 공개하려고 했기 때문입니다.매우 상황에 맞는 답변인 건 알지만 요즘 OAuth는 꽤 흔한 것 같아요.유저 시크릿은, 공개되는 것이 아닌 것이 판명되었습니다.누가 알겠어요?
이를 테스트하기 위해 startup.cs에서 일시적으로 다음 코드를 변경했습니다.이 데이터는 소스 제어에서 일반 텍스트로 표시되므로 모범 사례의 일부로 하드 코드화해서는 안 됩니다.
전에
app.UseFacebookAuthentication(new FacebookOptions()
{
AppId = Configuration["Authentication:Facebook:AppId"],
AppSecret = Configuration["Authentication:Facebook:AppSecret"]
});
끝나고
app.UseFacebookAuthentication(new FacebookOptions()
{
AppId = "0000000000000", // your value
AppSecret = "0000000000000000000000000000000" // your value
});
그리고 효과가 있었다.
My의 경우 Startup에서 데이터를 가져오려고 하는데 프로덕션 환경에서 dbcontext가 업데이트되지 않았기 때문입니다.
ConnectionString을 운영으로 변경하고 Update-Database를 실행하여 문제를 해결했습니다.
저 같은 경우에는 Resources라는 이름의 디렉토리가 앱 디렉토리에 없습니다.
언급URL : https://stackoverflow.com/questions/41915522/asp-net-core-1-1-runs-fine-locally-but-when-publishing-to-azure-says-an-error-o
'programing' 카테고리의 다른 글
CSV Excel 파일 C# 작성 방법 (0) | 2023.04.24 |
---|---|
HTTP 오류 403.14 - 금지 - 웹 서버가 이 디렉토리의 내용을 나열하지 않도록 구성되어 있습니다. (0) | 2023.04.24 |
URL에서 더하기(+) 기호를 인코딩하는 방법 (0) | 2023.04.24 |
데이터베이스 복원 중 mssql '5(액세스가 거부됨)' 오류가 발생했습니다. (0) | 2023.04.24 |
의 개요Excel VBA의 Number Format 옵션 (0) | 2023.04.24 |