Hello World para Pinvoke e chamadas nativas

Estou tentando fazer um olá mundo muito básico para chamadas Pinvoke e nativas.
Crio uma solução única com 2 projetos (um para a dll e outro para o aplicativo universal do windows)

Então, eu acabei com um projeto de heirachy como este

Existe um método na minha dll (arquivo NativeCalls.cpp):

#include "pch.h"
#include "NativeCalls.h"
#include <stdio.h>

MYAPI void print_line(const char* str) {
    printf("%s\n", str);
}

No lado C # das coisas, tenho meu arquivo NativeCalls.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;



namespace MSSurfaceHubMonitoring
{

    public static class NativeCalls
    {

        [DllImport("NativeCalls.dll")]
        private static extern void print_line(string str);

        public static void sayHelo()
        {
            print_line("Hello, PInvoke!");
        }
    }
}

Neste ponto, eu vou compilá-lo e executá-lo, mas recebo um erro que não consegue encontrar a dll

No entanto, acredito que seja a dependência e não a dll. Alterei o diretório de saída da dll para ficar na raiz de onde o aplicativo UW é executado (\ bin \ x86), portanto, ele realmente deve ser encontrado. Então, como eu disse, acho que são as dependências e não a dll real.

Aqui está o que eu vejo no Dependency WalkerMas eu instalei todos os pacotes c ++ em que posso colocar minhas mãos, então não entendo como obter as dependências ausentes. Além disso, este é apenas um olá mundo, por que preciso de todas essas bibliotecas.

FYI Meu projeto DLL não é referenciado pelo aplicativo UW. Não tenho certeza se isso é necessário ou não? Eu acho que não, já que isso é uma coisa de tempo de execução, enquanto a dll estiver lá, ela deve encontrá-la e lê-la. Mas, independentemente se eu tentar adicionar o projeto como referência, recebo este erro:

questionAnswers(1)

yourAnswerToTheQuestion