трехступенчатая визуальная студийная сборка - PullRequest
1 голос
/ 09 ноября 2011

В моем решении VS 2010, скажем, 1 родной Cll-проект dll и 1 c # wrapper project.То, что я хочу, это чистая магия.Мое решение имеет 32- и 64-битные конфигурации, в основном из-за родной библиотеки DLL.Я хотел бы построить решение так, чтобы c # dll включал как 32-битные, так и 64-битные нативные dll в качестве ресурсов в c # dll.Затем я буду распаковывать правильную битность во время выполнения и использовать ее (это не проблема).Мой вопрос заключается в том, как настроить VS-решение для создания обеих битов и затем поместить их в проект C # до его сборки?

Возможно, я смогу сделать умный скрипт .msbuild, но тогда я не смогупостроить красиво из VS.

1 Ответ

1 голос
/ 09 ноября 2011

Вы можете сделать следующее:

  1. Щелкните правой кнопкой мыши проект C # в обозревателе решений и выберите Выгрузить проект .
  2. Проект будет выгружен,Снова щелкните правой кнопкой мыши по проекту и выберите Редактировать * .csproj .
  3. Теперь вы можете редактировать файл проекта в Visual Studio.Файл * .csproj имеет довольно простой формат XML.
  4. Перейдите вниз по файлу * .csproj прямо перед </Project> закрывающим тегом.
  5. Добавьте следующие строки:
    <Target Name="BeforeBuild">
        <MSBuild Projects=".\..\NativeLibrary.sln" Properties="Configuration=Release;Platform=x64"/>
        <MSBuild Projects=".\..\NativeLibrary.sln" Properties="Configuration=Release;Platform=Win32"/>
    </Target>

Нет, вы можете щелкнуть правой кнопкой мыши файл проекта в обозревателе решений и выбрать Обновить проект .

Также вам нужно будет добавить 32-битные и 64-битные *.dll файлы к ресурсам.Я давно использовал этот подход, и он отлично работает.Вы можете создать свой проект C # из Visual Studio.

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