У меня есть управляемая библиотека, в которую встроена собственная библиотека, в которой есть двоичные файлы как для 32-разрядных, так и для 64-разрядных версий.
В настоящее время я должен сделать следующее:
Сначала создайте 32-битные и 64-битные сборки собственной библиотеки, используя Пакетная сборка.
Во-вторых, создайте управляемую библиотеку.
Управляемая библиотека ссылается на двоичные файлы, которые затем загружаются с помощью NativeLibrary.Load во время выполнения.
Все это заканчивается как пакет NuGet, готовый к использованию.
Вопрос:
Как я могу заставить этот этап пакетной сборки выполняться автоматически, а не вручную?
Я не верю, что у VS есть возможность напрямую зависеть от проекта, зависящего от нескольких сборок платформы другого проекта. Можно сделать так, чтобы проект x64 зависел от сборки x86, но, насколько мне известно, он не зависит от сборок x86 и x64 одного проекта.
Однако вы можете добавить дубликат проекта. То есть ваша зависимость должна полагаться на сборку x86 для foo_x86 и x64 для foo_x64, при этом foo_x86 и foo_x64 фактически строятся из одних и тех же файлов. Возможно даже, что foo-_x86 и foo_x64 фактически используют один и тот же файл проекта. В последнем я просто не уверен.
Использование <MSBuild Projects=.../>
просто работает, ключ к тому, чтобы заставить это работать:
<MsBuild>
, например. OutDir
например