.NET Core 오류 - 0x80131620 Unable to load DLL 'libuv'
x86으로 놓고 잘 동작하던 MVC Core 프로젝트가 AnyCPU로 변경한 후부터 Visual Studio에서 F5 디버깅 시 다음과 같은 코드들에서,
public static void Run(this IWebHost host)
{
host.RunAsync().GetAwaiter().GetResult();
}
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
이런 예외가 발생합니다.
System.IO.IOException occurred
HResult=0x80131620
Message=Failed to bind to address http://localhost:29832.
Source=<Cannot evaluate the exception source>
StackTrace:
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.<BindLocalhostAsync>d__6.MoveNext() in C:\b\w\f92f3e96777ec37d\.r\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel.Core\Internal\AddressBinder.cs:line 154
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in f:\dd\ndp\clr\src\BCL\system\runtime\exceptionservices\exceptionservicescommon.cs:line 133
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) in f:\dd\ndp\clr\src\BCL\system\runtime\compilerservices\TaskAwaiter.cs:line 156
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.<BindAddressAsync>d__7.MoveNext() in C:\b\w\f92f3e96777ec37d\.r\KestrelHttpServer\src\Microsoft.AspNetCore.Server.Kestrel.Core\Internal\AddressBinder.cs:line 189
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in f:\dd\ndp\clr\src\BCL\system\runtime\exceptionservices\exceptionservicescommon.cs:line 133
...[생략]...
at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host) in C:\b\w\f92f3e96777ec37d\.r\Hosting\src\Microsoft.AspNetCore.Hosting\WebHostExtensions.cs:line 59
at fullnet_mvc_core.Program.Main(String[] args) in D:\core_web_app\fullnet_mvc_core\Program.cs:line 17
Inner Exception 1:
AggregateException: One or more errors occurred.
Inner Exception 2:
DllNotFoundException: Unable to load DLL 'libuv': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
일단, 근본적인 원인은 알 수 없으나 AnyCPU가 아닌 x64로 변경하면 정상적으로 로드가 됩니다. 즉 libuv.dll 파일이 x86/x64에 대한 로딩 기준은 있으나 AnyCPU에 대해서는 어떤 것을 로드해야 할지 기준 폴더를 못 잡는 듯 보였습니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]