Создание Entry-Point для динамической dll

Моя задача - сделать запуск программы при инжекте моей dll в сторонний процесс. ЯП - C#.

С самого начала я думал об том, чтобы просто сделать в C# dll метод Main, но увы в C# нельзя сделать( Так мне все говорят ) так же, как в C++. Тогда я решил добавить в моё решение C++ проект "Динамическая библиотека C++" и уже через Entry-Point C++ dll вызывать Main моей C# библиотеки.

В итоге, сразу после создания библиотеки на меня посыпались ошибки, я спросил всех C++ друзей - говорят что ситуация очень странная и они не знают решения.

Код C# dll:

//Program.cs
namespace PissPissInAJar;
using static FuckSharp;
public class Program
{
    [STAThread]
    static void Main(string[] args) => new F(@"C:\\t.txt").AL = "Entry point!"; //Запись в файл текста, проверял в ConsoleApp - работает. Так же Main без args.
}

Код C++(Сгенерирован автоматически)

// dllmain.cpp : Определяет точку входа для приложения DLL.
#include "pch.h"

BOOL APIENTRY DllMain(HMODULE hModule,
    DWORD  ul_reason_for_call,
    LPVOID lpReserved
)
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
// pch.cpp: файл исходного кода, соответствующий предварительно скомпилированному заголовочному файлу

#include "pch.h"

// При использовании предварительно скомпилированных заголовочных файлов необходим следующий файл исходного кода для выполнения сборки.

#pragma once

#define WIN32_LEAN_AND_MEAN             // Исключите редко используемые компоненты из заголовков Windows
// Файлы заголовков Windows
#include <windows.h>

В dllmain.cpp файле выдаёт ошибку - "требуется точка с запятой" введите сюда описание изображения А вторая ошибка в файле framework.h - "не удалось открыть источник файл "windows.h"" введите сюда описание изображения


Ответы (1 шт):

Автор решения: Yotic

Я нашёл пару костыльных библиотек (Одна из таких - DLLExport) Но они все работают лишь в Console App, при переносе их в Dynamic DLL они переставали работать.

Сам же фикс ошибок в VS решился установкой пакета C++ для windows (как на скрине) введите сюда описание изображения

→ Ссылка