1 Востаннє редагувалося sasha87 (26.12.2025 17:03:52)

Тема: Потрібна допомога у розробці проекту

Хто може допомогти доробити проект?
Документація :
https://edgilbert.org/Checkers/KingsRow.htm
https://edgilbert.org/EnglishCheckers/KingsRowEnglish.htm
Юзаю макбук 14 про з М1Про процесором і трохи обмежений через архітектуру процесора.
Треба зробити згідно ТЗ до кінця.
Звичайно що не безкоштовно.
Пишіть в ПП для обговорення деталей.
Проект - https://github.com/SashaMaksyutenko/CheckersApi

2

Re: Потрібна допомога у розробці проекту

Проект готовий але не повністю робочий. Виникають помилки під час тестування ендпоінтів у свагері. Припускаю що крашиться kingsrow.dll
Ось проект - https://github.com/SashaMaksyutenko/checkersApi.

Це ASP.NET Core Web API, який виступає обгорткою для шашечного рушія KingsRow/Chinook. API приймає позицію у форматі PDN і повертає найкращий хід. Таким чином рушій можна використовувати через HTTP‑запити, а не напряму через DLL. 
Мета — зробити інтеграцію рушія зручнішою: можна підключити його до будь‑якого інтерфейсу (веб‑сторінки, мобільного додатку, бота), додати кешування, логування, health‑check і масштабувати під серверне середовище. 
Це не готова «сторінка для гри», а саме бекенд‑сервіс, який можна використати як основу для різних клієнтських додатків.

Goal
Create a checker playing bot via REST Web API that accepts a PDN position and returns the best move using Chinook. Host under IIS as a normal .NET API app.
Stack
Windows Server
IIS with .NET
Chinook integration
Practical Windows path: run KingsRow on Windows and use the Chinook 2–8 piece databases with it. KingsRow has native Windows builds and can probe those DBs.
https://edgilbert.org/Checkers/KingsRow.htm
https://edgilbert.org/EnglishCheckers/KingsRowEnglish.htm
Install Chinook binaries and endgame databases locally.
Provide an EngineAdapter that talks to Chinook via CLI or native DLL.
Adapter methods:
setPosition(pdn)
search(limits) -> { bestMove, pv, scoreOrWDL, nodes, depth, tablebaseHit }


Keep a small pool of long lived Chinook worker processes. Do not spawn per request.
API endpoints
POST /v1/move/suggest
Request
{
  "gameId": "checkers-8x8",
  "state": { "notation": "PDN", "position": "B:W18,19,22,25,27,28,30,32:B1,5,6,7,10,12,14,16" },
  "level": "weak",
  "limits": { "maxDepth": 12, "softTimeMs": 250, "hardTimeMs": 1200 }
}

Response
{
  "engine": "chinook",
  "bestMove": "22-18x11-7",
  "pv": ["22-18","5-9","18x11","7-16","30-26"],
  "scoreOrWDL": 0,
  "depth": 12,
  "nodes": 153201,
  "positionKey": "pdn:B:W18,19,22,25,27,28,30,32:B1,5,6,7,10,12,14,16",
  "info": { "tablebaseHit": false, "timeMs": 281 }
}

POST /v1/move/validate
Input: { position, move }


Output: { legal: true|false }


GET /healthz
Output: { ok: true, workers: 2 }


Strength levels
weak: depth 6 to 8 or movetime 100 ms. No randomness.


medium: depth 10 to 12 or movetime 250 ms.


strong: probe tablebases first. If not in DB, depth 14 to 18 or movetime 500 to 600 ms.


Flow per request
Parse and normalize PDN. Validate squares and piece counts.
If total pieces <= 8, probe Chinook DB and return the perfect move immediately.
Else call Chinook search with limits based on level.
Verify returned move is legal. If not, try next PV move or return 500.
Cache by canonical PDN for 15 minutes (LRU).
Ops and hosting
Run as a normal ASP.NET Core Web API app behind IIS. No Windows Service.
On app start, create 2 Chinook workers and warm them up.
Round robin request routing to workers with async lock per worker.
Enforce softTimeMs inside adapter and hardTimeMs with CancellationToken at the controller.
Log JSON per request: requestId, timeMs, depth, nodes, tablebaseHit.


Config example
appsettings.json
{
  "Engine": {
    "Type": "chinook",
    "Path": "C:\\engines\\chinook\\chinook.exe",
    "Workers": 2,
    "Databases": "D:\\tb\\chinook"
  },
  "Cache": { "Capacity": 20000, "TtlMinutes": 15 },
  "Limits": { "DefaultSoftTimeMs": 300, "DefaultHardTimeMs": 1200 }
}

Acceptance
Health check returns ok on startup.
Tablebase position with <= 8 pieces returns in under 50 ms with tablebaseHit true.
Midgame position level strong returns in under 600 ms with a legal move.
Invalid PDN gets 422. Timeouts return 504.

Що треба розуміти під готовим рішенням в цьому випадку? Чи достатньо архіву з проектом і ГітХабу

3

Re: Потрібна допомога у розробці проекту

Під готовим рішенням зазвичай розуміють не просто GitHub-репозиторій, а проєкт, який можна запустити без додаткових досліджень. Сюди входять:

  • репозиторій з повним кодом;

  • README з описом призначення проєкту;

  • чітка інструкція запуску (залежності, версії, команди);

  • приклади запитів/використання;

  • можливість зібрати й запустити проєкт без «танців з бубном».

Подякували: leofun011

4

Re: Потрібна допомога у розробці проекту

Чи існує вихідний код для бібліотеки шашечного рушія? Якщо він не привязаний до WinAPI, його теоретично можна перекомпілювати під Linux та використати для розробки php/python/nodejs. Значно простіше розгортати та масштабувати. Windows хостинг недешеве задоволення, та й розробка такого стеку на Apple Silicon мабуть вимагає певних танців з бубном.

5

Re: Потрібна допомога у розробці проекту

Юзаю віндовий ноут але всеодно запит валиться. Скачав CheckerBoard і Kingsrow рушій.
Kingsrow64.dll має такі функції
DebugFunction1
          3    1 0007D67C DebugFunction2
          4    2 0007D680 build_movelist
          5    3 0007D6EC engineabout
          6    4 00009388 enginecommand
          7    5 0007D730 enginehelp
          8    6 0007D75C enginename
          1    7 0008A584 get_best_moves
          9    8 00002260 getmove
         10    9 0007D7C0 protocolversion
         11    A 0007D7C8 qsearch
         12    B 0007D858 staticevaluation

Саме цей ендпоінт валиться

POST /v1/move/suggest
Request
{
  "gameId": "checkers-8x8",
  "state": { "notation": "PDN", "position": "B:W18,19,22,25,27,28,30,32:B1,5,6,7,10,12,14,16" },
  "level": "weak",
  "limits": { "maxDepth": 12, "softTimeMs": 250, "hardTimeMs": 1200 }
}
Можливо не правильно dll викликаю?

Ось код:

MoveController

using CheckersApi.Contracts;
using CheckersApi.Engine;
using CheckersApi.Validation;
using CheckersApi.Logging;
using Microsoft.AspNetCore.Mvc;

namespace CheckersApi.Controllers;

[ApiController]
[Route("v1/move")]
public class MoveController : ControllerBase
{
    private readonly IEngineAdapter _engine;
    private readonly ILogger<MoveController> _logger;

    public MoveController(IEngineAdapter engine, ILogger<MoveController> logger)
    {
        _engine = engine;
        _logger = logger;
    }

    [HttpPost("suggest")]
    public IActionResult Suggest([FromBody] SuggestRequest request)
    {
        if (request?.State?.Position is null)
            return BadRequest(new { error = "State.Position is required" });

        // генеруємо requestId для логів
        var requestId = Guid.NewGuid().ToString("N")[..8];

        // Normalize then validate per TЗ
        var pdn = PdnNormalizer.Normalize(request.State.Position);
        if (!PdnValidator.IsValid(pdn))
            return UnprocessableEntity(new { error = "Invalid PDN format" });

        // Hard timeout (controller-level)
        var hardMs = request.Limits?.HardTimeMs ?? 1200;
        using var cts = CancellationTokenSource.CreateLinkedTokenSource(HttpContext.RequestAborted);
        cts.CancelAfter(hardMs);

        try
        {
            // Ensure normalized PDN is used for cache keys and adapter
            request.State.Position = pdn;

            var response = _engine.Suggest(request, cts.Token);

            // логуємо результат в json
            RequestLogger.LogRequest(
                _logger,
                requestId,
                response.Info?.TimeMs ?? 0,
                response.Depth,
                response.Nodes,
                response.Info?.TablebaseHit ?? false
            );

            return Ok(response);
        }
        catch (OperationCanceledException)
        {
            return StatusCode(504, new { error = "Timeout" });
        }
        catch (AccessViolationException ex)
        {
            _logger.LogError(ex, "Native engine crash (0xC0000005) - KingsRow engine is unstable. Consider using Chinook instead.");
            return StatusCode(500, new { error = "Engine crashed: KingsRow is unstable. Try Chinook instead.", details = ex.Message });
        }
        catch (ArgumentException ex)
        {
            return UnprocessableEntity(new { error = ex.Message });
        }
        catch (InvalidOperationException ex)
        {
            return StatusCode(500, new { error = ex.Message });
        }
    }

    [HttpPost("validate")]
    public IActionResult Validate([FromBody] ValidateMoveRequest request)
    {
        if (request is null)
            return BadRequest(new { error = "Invalid request" });

        var pdn = PdnNormalizer.Normalize(request.Position ?? "");
        if (!PdnValidator.IsValid(pdn))
            return UnprocessableEntity(new { error = "Invalid PDN format" });

        var legal = MoveValidator.IsLegalFormat(request.Move ?? "");
        return Ok(new { legal });
    }
}

KingsRowAdapter

using CheckersApi.Contracts;
using CheckersApi.Validation;
using System;
using System.Diagnostics;
using System.Text;
using System.Threading;

namespace CheckersApi.Engine
{
    public class KingsRowAdapter : IEngineAdapter
    {
        private readonly string _exePath;
        private readonly string _dbPath;

        public KingsRowAdapter(string exePath, string dbPath)
        {
            _exePath = exePath;
            _dbPath = dbPath;
        }

        public SuggestResponse Suggest(SuggestRequest request, CancellationToken ct)
        {
            var pdn = PdnNormalizer.Normalize(request.State.Position);

            var psi = new ProcessStartInfo
            {
                FileName = _exePath,
                Arguments = $"--db \"{_dbPath}\" --pdn \"{pdn}\"",
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                UseShellExecute = false,
                CreateNoWindow = true,
                StandardOutputEncoding = Encoding.UTF8
            };

            using var proc = new Process { StartInfo = psi };
            proc.Start();

            string output = proc.StandardOutput.ReadToEnd();
            string error = proc.StandardError.ReadToEnd();

            proc.WaitForExit();

            if (!string.IsNullOrWhiteSpace(error))
                throw new InvalidOperationException($"KingsRow error: {error}");

            var bestMove = ParseBestMove(output);

            return new SuggestResponse
            {
                Engine = "kingsrow-process",
                BestMove = bestMove,
                PositionKey = PdnNormalizer.ToPositionKey(pdn),
                Depth = request.Limits?.MaxDepth ?? 8,
                Nodes = 0,
                Info = new SuggestInfo
                {
                    TablebaseHit = bestMove.Contains("TB"),
                    TimeMs = 0,
                    Evaluation = 0
                }
            };
        }

        private static string ParseBestMove(string output)
        {
            foreach (var line in output.Split('\n'))
            {
                if (line.StartsWith("bestmove", StringComparison.OrdinalIgnoreCase))
                    return line.Replace("bestmove", "").Trim();
            }
            return string.Empty;
        }
    }
}

KingsRowBootstrap

using System;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using Microsoft.Extensions.Configuration;

namespace CheckersApi.Engine
{
    internal static class KingsRowBootstrap
    {
        private static bool _initialized;
        private static readonly object _lock = new();

        [DllImport("kernel32.dll", SetLastError = true)]
        private static extern bool SetDllDirectory(string lpPathName);

        public static void Initialize(IConfiguration cfg)
        {
            if (_initialized) return;

            lock (_lock)
            {
                if (_initialized) return;

                if (IntPtr.Size != 8)
                    throw new BadImageFormatException("Kingsrow64.dll requires x64 process");

                var egdbDir = cfg["Engine:DllDirEgdb"] ?? throw new InvalidOperationException("Engine:DllDirEgdb not configured");
                var enginesDir = cfg["Engine:DllDirKingsRow"] ?? throw new InvalidOperationException("Engine:DllDirKingsRow not configured");
                var dbPath = cfg["Engine:Databases"] ?? "";

                if (!Directory.Exists(egdbDir))
                    throw new DirectoryNotFoundException($"EGDB dir not found: {egdbDir}");
                if (!Directory.Exists(enginesDir))
                    throw new DirectoryNotFoundException($"KingsRow engines dir not found: {enginesDir}");

                SetDllDirectory(enginesDir);

                var egdbPath = Path.Combine(egdbDir, "egdb64.dll");
                var krPath = Path.Combine(enginesDir, "Kingsrow64.dll");

                var egdbHandle = LoadExact(egdbPath);
                var krHandle = LoadExact(krPath);

                var useInit = bool.TryParse(cfg["Engine:UseInit"], out var ui) ? ui : true;
                if (useInit && !string.IsNullOrWhiteSpace(dbPath))
                {
                    if (!Directory.Exists(dbPath))
                        throw new InvalidOperationException($"Tablebase directory not found: {dbPath}");

                    var hasCpr = Directory.EnumerateFiles(dbPath, "*.cpr1").Any();
                    var hasIdx = Directory.EnumerateFiles(dbPath, "*.idx1").Any();
                    if (!hasCpr || !hasIdx)
                        throw new InvalidOperationException($"No tablebase files (*.cpr1/*.idx1) in: {dbPath}");

                    var currentPath = Environment.GetEnvironmentVariable("PATH") ?? string.Empty;
                    if (!currentPath.Split(';', StringSplitOptions.RemoveEmptyEntries)
                        .Any(p => string.Equals(p, dbPath, StringComparison.OrdinalIgnoreCase)))
                    {
                        Environment.SetEnvironmentVariable("PATH", $"{dbPath};{currentPath}");
                    }

                    Environment.SetEnvironmentVariable("EGDB_PATH", dbPath);
                }

                NativeKingsRow.BindOnce(krHandle);

                // Warm‑up
                try
                {
                    _ = NativeKingsRow.ProtocolVersion();
                    _ = NativeKingsRow.EngineCommand("about", 1024);
                }
                catch { }

                _initialized = true;
            }
        }

        private static IntPtr LoadExact(string fullPath)
        {
            if (!File.Exists(fullPath))
                throw new DllNotFoundException($"Required DLL missing: {fullPath}");

            var handle = NativeLibrary.Load(fullPath);
            if (handle == IntPtr.Zero)
                throw new DllNotFoundException($"Failed to load: {fullPath}");

            return handle;
        }
    }
}

NativeKingsRow

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace CheckersApi.Engine
{
    internal static class NativeKingsRow
    {
        private static readonly object s_lock = new();
        private static bool s_bound;
        private static IntPtr s_module;

        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        private delegate IntPtr enginename_delegate();
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        private delegate int protocolversion_delegate();
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        private delegate int staticevaluation_delegate(IntPtr pdn);
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        private delegate int getmove_delegate(IntPtr pdn, IntPtr buffer, int capacity);
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        private delegate int enginecommand_delegate(IntPtr cmd, IntPtr buffer, int capacity);

        private static enginename_delegate? s_enginename;
        private static protocolversion_delegate? s_protocolversion;
        private static staticevaluation_delegate? s_staticevaluation;
        private static getmove_delegate? s_getmove;
        private static enginecommand_delegate? s_enginecommand;

        public static void BindOnce(IntPtr module)
        {
            if (s_bound) return;
            lock (s_lock)
            {
                if (s_bound) return;
                if (module == IntPtr.Zero)
                    throw new DllNotFoundException("Kingsrow64.dll module handle is null");

                s_module = module;
                s_enginename = GetExport<enginename_delegate>(s_module, "enginename");
                s_protocolversion = GetExport<protocolversion_delegate>(s_module, "protocolversion");
                s_staticevaluation = GetExport<staticevaluation_delegate>(s_module, "staticevaluation");
                s_getmove = GetExport<getmove_delegate>(s_module, "getmove");
                s_enginecommand = GetExport<enginecommand_delegate>(s_module, "enginecommand");
                s_bound = true;
            }
        }

        private static T GetExport<T>(IntPtr module, string name) where T : Delegate
        {
            var addr = NativeLibrary.GetExport(module, name);
            return Marshal.GetDelegateForFunctionPointer<T>(addr);
        }

        private static void EnsureBound()
        {
            if (!s_bound)
                throw new InvalidOperationException("NativeKingsRow not bound—call KingsRowBootstrap.Initialize first.");
        }

        public static string EngineName()
        {
            EnsureBound();
            lock (s_lock)
            {
                var ptr = s_enginename!.Invoke();
                return ptr == IntPtr.Zero ? "KingsRow" : (Marshal.PtrToStringAnsi(ptr) ?? "KingsRow");
            }
        }

        public static int ProtocolVersion()
        {
            EnsureBound();
            lock (s_lock) { return s_protocolversion!.Invoke(); }
        }

        public static int StaticEvaluation(string pdn)
        {
            EnsureBound();
            IntPtr pdnPtr = Marshal.StringToHGlobalAnsi(pdn);
            try { lock (s_lock) { return s_staticevaluation!.Invoke(pdnPtr); } }
            finally { Marshal.FreeHGlobal(pdnPtr); }
        }

        public static (int rc, string reply) EngineCommand(string command, int capacity = 1024)
        {
            EnsureBound();
            IntPtr cmdPtr = Marshal.StringToHGlobalAnsi(command);
            IntPtr buf = AllocZero(capacity);
            try
            {
                int rc;
                lock (s_lock) { rc = s_enginecommand!.Invoke(cmdPtr, buf, capacity); }
                var reply = rc == 0 ? ReadAnsi(buf, capacity) : string.Empty;
                return (rc, reply);
            }
            finally
            {
                Marshal.FreeHGlobal(cmdPtr);
                Marshal.FreeHGlobal(buf);
            }
        }

        public static (int rc, string move) CallGetMoveAscii(string pdn, int capacity = 16384)
        {
            EnsureBound();
            try
            {
                lock (s_lock) { _ = s_protocolversion!.Invoke(); }
                _ = EngineCommand("about", 512);
            }
            catch { }

            IntPtr pdnPtr = Marshal.StringToHGlobalAnsi(pdn);
            IntPtr buf = AllocZero(capacity);
            try
            {
                int rc;
                lock (s_lock) { rc = s_getmove!.Invoke(pdnPtr, buf, capacity); }
                if (rc != 0) return (rc, string.Empty);
                return (rc, ReadAnsi(buf, capacity).Trim());
            }
            finally
            {
                Marshal.FreeHGlobal(pdnPtr);
                Marshal.FreeHGlobal(buf);
            }
        }

        private static IntPtr AllocZero(int size)
        {
            var p = Marshal.AllocHGlobal(size);
            unsafe { new Span<byte>((void*)p, size).Clear(); }
            return p;
        }

        private static string ReadAnsi(IntPtr buf, int capacity)
        {
            var bytes = new byte[capacity];
            Marshal.Copy(buf, bytes, 0, capacity);
            int len = Array.IndexOf<byte>(bytes, 0);
            if (len < 0) len = capacity;
            return Encoding.ASCII.GetString(bytes, 0, len);
        }
    }
}

NativeKingsRowAdapter

using CheckersApi.Contracts;
using CheckersApi.Validation;
using System;

namespace CheckersApi.Engine
{
    public class NativeKingsRowAdapter : IEngineAdapter
    {
        private readonly string _dbPath;

        public NativeKingsRowAdapter(string dbPath)
        {
            _dbPath = dbPath;
        }

        public SuggestResponse Suggest(SuggestRequest request, CancellationToken ct)
        {
            // Нормалізуємо PDN
            var pdn = PdnNormalizer.Normalize(request.State.Position);

            // Викликаємо KingsRow для отримання ходу
            var (rc, move) = NativeKingsRow.CallGetMoveAscii(pdn, capacity: 16384);
            if (rc != 0 || string.IsNullOrWhiteSpace(move))
                throw new InvalidOperationException($"KingsRow DLL failed (rc={rc}) to return move");

            // Виконуємо статичну оцінку позиції
            int eval = 0;
            try { eval = NativeKingsRow.StaticEvaluation(pdn); } catch { }

            return new SuggestResponse
            {
                Engine = "kingsrow-native",
                BestMove = move,
                PositionKey = PdnNormalizer.ToPositionKey(pdn),
                Depth = request.Limits?.MaxDepth ?? 8,
                Nodes = 0,
                Info = new SuggestInfo
                {
                    TablebaseHit = IsTablebaseHit(move),
                    TimeMs = 0,
                    Evaluation = eval
                }
            };
        }

        private static bool IsTablebaseHit(string move)
        {
            var m = move.ToLowerInvariant();
            return m.Contains("tb") || m.Contains("wld") || m.Contains("dtw");
        }
    }
}

apsettings.json
. Тут вказав розміщення длл файлів звідки витягую функції необхідні для ендпоінта

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Engine": {
    "Type": "kingsrow",
    "DllDirEgdb": "C:\\Program Files (x86)\\CheckerBoard",
    "DllDirKingsRow": "C:\\Program Files (x86)\\CheckerBoard\\engines",
    "Databases": "C:\\kr_english_wld",
    "UseInit": true
  },
  "Cache": {
    "Capacity": 20000,
    "TtlMinutes": 15
  },
  "Limits": {
    "DefaultSoftTimeMs": 300,
    "DefaultHardTimeMs": 1200
  }
}

Перевіряк Дллку dependency walkerом і там є помилки в цьому Длл.

Ендпоінт видає помилки:

'CheckersApi.exe' (CoreCLR: DefaultDomain): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'A:\Documents\CheckersApi\bin\Debug\net9.0\CheckersApi.dll'. Symbols loaded.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'c:\program files\microsoft visual studio\18\community\common7\ide\extensions\microsoft\managedprojectsystem\HotReload\net6.0\Microsoft.Extensions.DotNetDeltaApplier.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Linq.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Runtime.Loader.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Console.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Collections.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Runtime.InteropServices.RuntimeInformation.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Collections.Concurrent.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.IO.Pipes.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Threading.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Runtime.InteropServices.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Threading.Overlapped.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Security.AccessControl.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Security.Principal.Windows.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Security.Claims.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'c:\program files\microsoft visual studio\18\community\common7\ide\extensions\microsoft\managedprojectsystem\HotReload\net6.0\Microsoft.AspNetCore.Watch.BrowserRefresh.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'c:\program files\microsoft visual studio\18\community\common7\ide\extensions\microsoft\web tools\projectsystem\net7.0\Microsoft.WebTools.ApiEndpointDiscovery.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\Extensions\Microsoft\Web Tools\Browser Link\Microsoft.WebTools.BrowserLink.Net.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Hosting.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.DependencyInjection.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Logging.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Diagnostics.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Configuration.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Http.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Routing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.ComponentModel.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Features.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Mvc.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Mvc.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Mvc.ApiExplorer.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'A:\Documents\CheckersApi\bin\Debug\net9.0\Swashbuckle.AspNetCore.SwaggerGen.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Caching.Memory.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Options.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Cors.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Authorization.Policy.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Hosting.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'A:\Documents\CheckersApi\bin\Debug\net9.0\Swashbuckle.AspNetCore.Swagger.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'A:\Documents\CheckersApi\bin\Debug\net9.0\Swashbuckle.AspNetCore.SwaggerUI.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\PrivateAssemblies\Runtime\Microsoft.VisualStudio.Debugger.Runtime.NetCoreApp.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Hosting.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Hosting.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Configuration.EnvironmentVariables.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.FileProviders.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.FileProviders.Physical.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Configuration.FileExtensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Logging.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Diagnostics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Diagnostics.DiagnosticSource.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Configuration.Binder.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Configuration.Json.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Memory.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.IO.FileSystem.Watcher.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.ComponentModel.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\Microsoft.Win32.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Text.Json.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Text.Encoding.Extensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Configuration.UserSecrets.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Logging.EventLog.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Logging.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Options.ConfigurationExtensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Logging.Console.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Logging.Debug.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Logging.EventSource.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Diagnostics.Tracing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.DependencyInjection.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Server.Kestrel.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Server.Kestrel.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Net.Quic.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Net.Sockets.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Net.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\Microsoft.Win32.Registry.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Server.IIS.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Server.IISIntegration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Http.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Mvc.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Connections.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.ObjectPool.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.HostFiltering.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.HttpOverrides.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Routing.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.ObjectModel.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Numerics.Vectors.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Authentication.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Authentication.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Authorization.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Mvc.Cors.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Mvc.DataAnnotations.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'A:\Documents\CheckersApi\bin\Debug\net9.0\Microsoft.OpenApi.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Caching.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Extensions.Localization.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Mvc.Razor.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Http.Extensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Threading.Thread.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\System.Diagnostics.EventLog.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Collections.Specialized.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.ComponentModel.TypeConverter.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.IO.Pipelines.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Threading.ThreadPool.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Reflection.Emit.Lightweight.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Reflection.Emit.ILGeneration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Reflection.Primitives.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Text.Encodings.Web.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Runtime.Intrinsics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.Net.Http.Headers.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Http.Features.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Private.Uri.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Linq.Expressions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Runtime.Numerics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Text.RegularExpressions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Net.Http.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.ComponentModel.Annotations.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Metadata.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Microsoft.AspNetCore.Watch.BrowserRefresh.BlazorWasmHotReloadMiddleware: Debug: Middleware loaded
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserScriptMiddleware: Debug: Middleware loaded. Script /_framework/aspnetcore-browser-refresh.js (16507 B).
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserScriptMiddleware: Debug: Middleware loaded. Script /_framework/blazor-hotreload.js (799 B).
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.IO.MemoryMappedFiles.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Runtime.Extensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Diagnostics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Authentication.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.StaticFiles.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Collections.Immutable.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'Anonymously Hosted DynamicMethods Assembly'. 
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.Diagnostics.Abstractions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserRefreshMiddleware: Debug: Middleware loaded: DOTNET_MODIFIABLE_ASSEMBLIES=debug, __ASPNETCORE_BROWSER_TOOLS=true
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Security.Cryptography.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Collections.NonGeneric.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Net.Security.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Microsoft.Hosting.Lifetime: Information: Now listening on: http://localhost:5200
Microsoft.Hosting.Lifetime: Information: Application started. Press Ctrl+C to shut down.
Microsoft.Hosting.Lifetime: Information: Hosting environment: Development
Microsoft.Hosting.Lifetime: Information: Content root path: A:\Documents\CheckersApi
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Net.WebSockets.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Threading.Tasks.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.Net.NameResolution.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.12\System.IO.Compression.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'CheckersApi.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\9.0.12\Microsoft.AspNetCore.WebUtilities.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread '.NET TP Worker' (47128) has exited with code 0 (0x0).
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserRefreshMiddleware: Debug: Response markup is scheduled to include browser refresh script injection.
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserRefreshMiddleware: Debug: Response markup was updated to include browser refresh script injection.
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserScriptMiddleware: Debug: Script injected: /_framework/aspnetcore-browser-refresh.js
The program '[42128] CheckersApi.exe' has exited with code 3221226505 (0xc0000409).

6

Re: Потрібна допомога у розробці проекту

Хтось працював з dll у dotnet проектах? Можливо хтось з таким стикався?