Настройка проекта Visual Studio для построения внешних зависимостей из источника - PullRequest
2 голосов
/ 16 марта 2019

Моя установка состоит из трех отдельных проектов:

  • MyApp - приложение C #.Ссылки CLibraryWrapper (включает в качестве подмодуля git)
  • CLibraryWrapper - библиотека классов C #, которая является оболочкой C # для собственной библиотеки C.Зависит от CLibrary (включает его в виде подмодуля git)
  • CLibrary - общая библиотека C.
C# platform=AnyCPU                     C# platform=AnyCPU
+----------------+     References      +------------------------+
|     MyApp      +--------------------->    CLibraryWrapper     |
|                |                     |                        |
| MyApp.sln      |                     | CLibraryWrapper.sln    |
| MyApp.csproj   |                     | CLibraryWrapper.csproj |
|                |                     |                        |
+----------------+                     +-------+----------------+
                                               |
                                               | Depends
                                               |
                                               v
                                       C Shared Library
                                       +------------------+
                                       |     CLibrary     |
                                       |                  |
                                       | CLibrary.sln     |
                                       | CLibrary.vcxproj |
                                       |                  |
                                       +------------------+

Вопрос № 1

Я должен быть в состоянии собрать CLibraryWrapper для AnyCPU платформы, и это требует настройки CLibraryWrapper проекта таким образом, что он будет строить CLibrary для x86 и x64 платформ.Я загружаю CLibrary.dll во время выполнения в зависимости от платформы процесса, поэтому мне нужны оба (x86 и x64) двоичные файлы.

Конечный результат после CLibraryWrapper AnyCPU buildдолжно выглядеть так:

|_bin/Debug/
  |_CLibraryWrapper.dll
  |_x86/
    |_CLibrary.dll
  |_x64/
    |_CLibrary.dll

Есть ли способ добиться этого в конфигурации сборки Visual Studio?

Вопрос № 2

MyApp долженбыть в состоянии добавить CLibraryWrapper в качестве ссылки на проект.

Конечным результатом должно быть то, что MyApp создает CLibraryWrapper , что, в свою очередь, создает x86/CLibrary.dll иx64/CLibrary.dll.Таким образом, MyApp будет построен со всеми его зависимостями из исходного кода.

Я читал, что вы не можете ссылаться на solution из другого solution.И решение контролирует построение зависимостей.Мне бы очень хотелось, чтобы MyApp ссылался на CLibraryWrapper и наследовал CLibrary конфигурацию сборки.

Я не смог выяснить, как настроить Visual Studio построить конфигурацию таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...