Пользовательские зависимости .NET (без нюгетера) - PullRequest
0 голосов
/ 01 октября 2019

Итак, у меня возникли проблемы с добавлением git-проекта в мое решение net Core, и, потратив несколько часов на то, чтобы выяснить это и не имея возможности найти решение в Интернете, я решил спросить здесь.

У меня есть раздвоенное репозиторий github ( ссылка ), в котором я изменил некоторые файлы в соответствии со своими потребностями, но я просто не могу заставить его работать с моим текущим проектом.

У меня проблема в том, что обычно, когда я хочу пакет для проекта .NET, я обычно просто захожу в nuget и выбираю необходимые зависимости. Обычно это очень просто и понятно. Но теперь, когда у меня есть эти измененные файлы, я не уверен, что делать дальше.

Я пытался добавить его как подмодуль, но после того, как я собрал проект, я получил исключение, сказав, что DLL не можетбыть найденным. Затем я попытался добавить саму dll в качестве ссылки, но ImGui.dll зависит от C dll, который не мог быть найден (и не добавлен в проект). Наконец, я попытался добавить csproj в качестве проекта моего решения, но это тоже не сработало

Знаете ли вы, что я здесь не так делаю? Я пропускаю ключевую часть или это просто нечто очевидное, чего я не вижу? Это не может быть так сложно заставить его работать

1 Ответ

3 голосов
/ 01 октября 2019

Похоже, что этот репозиторий создает DLL (тип вывода Class Library). Поэтому измените его по своему вкусу и используйте пример сборки программы (ImGui.NET.SampleProgram) для проверки ваших изменений. Когда вы довольны, создайте проект DLL (ImGui.NET) и используйте полученную DLL в качестве справочного руководства в своем собственном приложении.

В Visual Studio:

Solution Explorer>YourApp>References>Right Click>Add Reference...>Locate your DLL

Это означает, что вы также должны следить за своими изменениями в самом проекте ImGui.NET, поскольку вы можете / будете обязаны поддерживать это в будущем.

Надеюсь, это поможет вам начать - обновите свойвопрос с более конкретными проблемами, как только вы начнете.

Редактировать:

Как упоминает @CoolBots, я, вероятно, неправильно понял ваш вопрос. Похоже, что сборка зависит от cimgui.dll, который вы можете использовать по горячей ссылке из репозитория ImGui вместе со своей пользовательской DLL. Фактически, демонстрационное приложение использует cimgui.dll, cimgui.dylib и cimgui.so. Независимо от способа компоновки, вы хотите, чтобы файлы копировали в вашу папку сборки. Я не верю, что необходима подпапка / bin .

Вы можете найти все зависимости cimgui для различных операционных систем в папке ~/ImGui.NET/deps/cimgui.

Демонстрация такжеиспользует пакеты NuGet Velrid и Velrid.StartupUtilities.

В зависимости от вашей собственной кодовой базы, вы можете или не можете запрашивать эти пакеты NuGet вместе с вышеупомянутой библиотекой классов.

...