Как я могу включить сторонние DLL для развертывания ClickOnce в приложении VS2012?

Я боролся с этим в течение многих дней и не могу собрать это воедино. У меня есть приложение, которое включает в себя:

  1. основной модуль написан на C #
  2. модуль поддержки, написанный на C ++ как библиотека управляемых классов
  3. сторонние библиотеки DLL
  4. DLL для SQL Server Compact Edition 4.

В настоящее время все библиотеки DLL находятся в главной папке основного модуля, что создает беспорядок в одном плоском каталоге. Это работает, но это далеко не элегантно. Вот что я хотел бы сделать:

--> (Main Module Directory) <--
Main Module (C#)
-->Libs (subdirectory under main module) <--
C++ Managed Class Library
SQL CE 4.0 DLLs
Third Party DLLs

Я действительно хочу очистить структуру папок в VS2012, когда я работаю над проектом. Эти файлы могут находиться в главном каталоге модулей при развертывании приложения. Я пробовал скрипт пост-сборки, который перемещает файлы; однако они не включены в пакет ClickOnce после их перемещения.

Что усложняет это, это порядок вызова модулей. Это выглядит следующим образом:

  1. Основной модуль вызывает библиотеки SQL CE4.0
  2. Основные вызовы модулей C ++ Class Library
  3. Библиотека классов вызывает сторонние библиотеки DLL. (Я не использую DLImport. У меня есть файлы lib, поэтому они вызываются с extern "C",

Я попытался создать файл конфигурации и использовать <probing> без удачи Мое предположение <probing> применяется только к главному модулю в C #. Основной модуль никогда не вызывает сторонние DLL напрямую.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]