"예외가 호출 대상에 의해 던져졌습니다." 오류(mscorlib)
ASP.Net 2.0에서 개발한 웹 사이트에서 오류를 발생시킵니다.
"Exception has been thrown by the target of an invocation"
운영 환경에서 사용할 수 있습니다.개발 과정에서 이 오류를 발생시킨 것이 아닙니다.
소스는 'mscorlib'이고 스택 추적은 다음에서 오류를 말합니다.
System.RuntimeMethodHandle._InvokeMethodFast.
운영 환경에 마지막으로 업로드한 후 변경된 점은 구성원 제어(로그인, 로그인 보기)를 사용하기 시작하고 저장 프로시저와 테이블 등을 몇 가지 더 추가했다는 것입니다.회원 자격은 제가 작성한 사용자 지정 공급자에 따라 다릅니다.
왜 이런 일이 일어날 수 있는지 아는 사람?
내부 예외를 확인하는 것이 좋습니다.예외가 없는 경우 로그에서 이 예외 직전에 발생한 예외를 확인합니다.
이것은 웹에 특화된 예외가 아니라 데스크톱 앱 개발에서도 마주쳤습니다.간단히 말해서, 이 예외를 수신하는 스레드가 일부 비동기 코드(예: Invoke()를 통해)를 실행하고 있고 비동기적으로 실행되는 코드가 예외와 함께 폭발적으로 증가하고 있다는 것입니다.이 대상 호출 예외는 해당 실패의 여파입니다.
아직 예외 로깅 래퍼를 사용하지 않은 경우 이 오류를 트리거할 때 호출되는 비동기 콜백 주위에 배치합니다.예를 들어 이벤트 핸들러입니다.그것은 당신이 그 문제를 추적하는 데 도움이 될 것입니다.
행운을 빕니다.
이 문제는 존재하지 않는 메서드를 호출할 때 발생할 수 있습니다.
이상하다는 것은 알지만 c# 애플리케이션에 대해 이 오류를 경험했고 마침내 문제가 양식의 아이콘이라는 것을 내가 변경했을 때 모든 것이 정상적으로 작동한다는 것을 알게 되었습니다.
7번이나 8번이 아닌 XP에서만 이 오류가 발생했다고 봐야겠습니다.
Management Studio 2014를 통해 SQL Server 2017에 연결하려고 할 때 동일한 오류가 발생함
그 이유는 이전 버전과의 호환성 때문이었습니다.
그래서 Management Studio 2017을 다운로드하여 SQL Server 2017에 연결하려고 했습니다.
문제 해결!!
' Get the your application's application domain.
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
' Define a handler for unhandled exceptions.
AddHandler currentDomain.UnhandledException, AddressOf MYExHandler
' Define a handler for unhandled exceptions for threads behind forms.
AddHandler Application.ThreadException, AddressOf MYThreadHandler
Private Sub MYExnHandler(ByVal sender As Object, _
ByVal e As UnhandledExceptionEventArgs)
Dim EX As Exception
EX = e.ExceptionObject
Console.WriteLine(EX.StackTrace)
End Sub
Private Sub MYThreadHandler(ByVal sender As Object, _
ByVal e As Threading.ThreadExceptionEventArgs)
Console.WriteLine(e.Exception.StackTrace)
End Sub
' This code will throw an exception and will be caught.
Dim X as Integer = 5
X = X / 0 'throws exception will be caught by subs below
프로젝트를 시작 프로젝트로 설정하지 않았기 때문에 이 오류가 발생합니다.
현재 프로젝트를 Set As Start-Up Project(시작 프로젝트로 설정)로 설정하면 프로젝트가 사라집니다.
방금 네임스페이스 불일치로 인해 이 문제가 발생했습니다.XAML 파일이 포팅되고 있었고 파일 뒤에 있는 코드의 이름 공간과 다릅니다.
이것은 두 가지 이유가 있을 수 있습니다.
1.저는 제 web.config 파일에서 연결 문자열 오류를 발견했습니다. 제가 연결 문자열을 변경하고 작동했습니다.
- 연결 문자열이 올바르면 제어판 > 서비스 > SQL Server Browser > 시작 여부를 확인합니다.
제 문제는 앱 설정에서 연결 문자열을 올바른 위치에 넣지 않았다는 것입니다. json 그것은 IIS Express 개체 안에 있었고 프로필 개체 안으로 옮겼습니다. json {here } app 설정 안에 넣어 문제를 해결하지 못했습니다.
동일한 오류가 발생하여 대상 플랫폼을 "혼합 플랫폼"에서 "모든 CPU"로 변경하는 문제를 해결했습니다.
저의 경우 VS(.NET 5 콘솔 앱)에서 단일 파일로 게시하는 옵션을 선택했기 때문에 이 문제가 발생했습니다. 정상적으로 게시하도록 변경하면 예외가 사라졌습니다.
컨트롤러 폴더에 새 컨트롤러를 추가하려고 했지만 연결 문자열이 Web.config 파일의 entityFramework 태그 내부에 배치된 후 이 오류가 발생했습니다.
다른 서버에 대한 내부 호출이 있고 해당 서버가 논리적인 시간 내에 응답하지 않거나 서버를 호출하는 구성이 잘못되었을 때 발생합니다.다른 서버에 연결하는 문제를 해결한 후 해당 서버에서 올바른 데이터를 받았고 해당 서버 호출을 담당하는 기능이 제대로 작동하여 해당 오류가 발생하지 않습니다.
유효성 검사 필드를 편집했는데 오류가 해결되었습니다.
builder.Property(x => x.Name)**.UseIdentityColumn()**.HasMaxLength(200);
builder.Property(x => x.Name)**.IsRequired()**.HasMaxLength(200);
제 경우에는 그냥 업데이트합니다.Oracle.ManagedDataAccess.Core
에서 온 2.19.60
3.21.61
저도 같은 문제가 있었습니다.C#에서 보고서를 작성하려고 했는데 필드가 비어 있는지 공백인지 확인하지 않았습니다.
예외를 추가합니다.
디버깅할 때 InnerException이 발견되지 않으면 다른 Exception에 도달할 때까지 F5를 누르면 편리합니다(계속).또는 완전히 삭제된 경우 출력 창에서 자세한 내용을 확인할 수 있습니다.
저의 경우에는 이것이 효과가 있었습니다.
dotnet ef migrations add MyMigrationName --startup-project {your .csproj} --context {your context}
이것은 두 가지 이유를 가질 수 있습니다.
- 사용하다
HasForeignKey
를 할 때WithMany
방법
builder.HasOne(m => m.Model).WithMany(m => m.ParentModel).HasForeignKey(m => m.Number)
- 삽입합니다.
IsRequired
에
builder.Property(p => p.Number).IsRequired();
이 두 항목을 삭제해야 합니다.
언급URL : https://stackoverflow.com/questions/648113/exception-has-been-thrown-by-the-target-of-an-invocation-error-mscorlib
'programing' 카테고리의 다른 글
Oracle SQL:두 숫자 사이의 모든 정수 가져오기 (0) | 2023.06.11 |
---|---|
mariadb에서 연결된 "데이터베이스"를 만드는 방법이 있습니까? (0) | 2023.06.11 |
힙의 구조체 구성원을 초기화하는 방법 (0) | 2023.06.11 |
파이썬에서 설치된 모든 패키지와 해당 버전을 나열하는 방법은 무엇입니까? (0) | 2023.06.11 |
FirebaseRemoteConfig 오류 "파라미터 키에 대해 'String' 유형의 값이 없습니다." (0) | 2023.06.11 |