>>System.ComponentModel.DataAnnotations ] System.ComponentModel.Annotations, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3
문제 해결
📌 [상황]
Required]
[DataType(DataType.EmailAddress)]
public string UserId { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
유효성 처리를 위한 System.ComponentModel.DataAnnotations 사용 / IHttpActionResult로 Get 요청 시 오류 발생
📌 [오류 메시지]
```
{
"Message": "오류가 발생했습니다.",
"ExceptionMessage": "'ObjectContent`1' 유형에서 콘텐츠 형식 'application/json; charset=utf-8'의 응답 본문을 직렬화하지 못했습니다.",
"ExceptionType": "System.InvalidOperationException",
"StackTrace": null,
"InnerException": {
"Message": "오류가 발생했습니다.",
"ExceptionMessage": "콘텐츠를 스트림으로 복사하는 동안 오류가 발생했습니다.",
"ExceptionType": "System.Net.Http.HttpRequestException",
"StackTrace": " 위치: System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 위치: System.Web.Http.WebHost.HttpControllerHandler.<WriteBufferedResponseContentAsync>d__22.MoveNext()",
"InnerException": {
"Message": "오류가 발생했습니다.",
"ExceptionMessage": "파일이나 어셈블리 'System.ComponentModel.Annotations, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 찾은 어셈블리의 매니페스트 정의와 어셈블리 참조가 일치하지 않습니다. (예외가 발생한 HRESULT: 0x80131040)",
"ExceptionType": "System.IO.FileLoadException",
"StackTrace": " 위치: System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)\r\n 위치: System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)\r\n 위치: System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)\r\n 위치: System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg)\r\n 위치: System.Reflection.CustomAttribute.IsCustomAttributeDefined(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, RuntimeType attributeFilterType, Int32 attributeCtorToken, Boolean mustBeInheritable)\r\n 위치: System.Reflection.CustomAttribute.IsDefined(RuntimePropertyInfo property, RuntimeType caType)\r\n 위치: Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(Type objectType)\r\n 위치: Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(Type type, MemberSerialization memberSerialization)\r\n 위치: Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(Type objectType)\r\n 위치: Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(Type objectType)\r\n 위치: System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)\r\n 위치: Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type)\r\n 위치: Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)\r\n 위치: Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)\r\n 위치: System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(Type type, Object value, Stream writeStream, Encoding effectiveEncoding)\r\n 위치: System.Net.Http.Formatting.JsonMediaTypeFormatter.WriteToStream(Type type, Object value, Stream writeStream, Encoding effectiveEncoding)\r\n 위치: System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStreamAsync(Type type, Object value, Stream writeStream, HttpContent content, TransportContext transportContext, CancellationToken cancellationToken)"
}
}
}
📌 [원인]
- .Net Framwork & System.ComponentModel.DataAnnotations 버전 문제
📌 [해결 방법]
System.ComponentModel.DataAnnotations 버전을 5.0.0 → 4.4.1으로 낮춰서 처리함.
300x250
'DevelopNote > 오류 모음' 카테고리의 다른 글
Spring + Hibernate enum 타입 문제 해결 (0) | 2023.08.05 |
---|---|
[Git] git permission denied (publickey) 오류 (0) | 2022.06.22 |
[오류] Operation Not Permitted - 터미널 오류 (0) | 2021.12.21 |
[C#] bin\roslyn\csc.exe' 경로의 일부를 찾을 수 없습니다. 오류 (0) | 2021.12.15 |
[intellij/Gradle] Cannot resolve symbol ~ (0) | 2021.07.17 |