如何在VS2012应用程序中包含用于ClickOnce部署的第三方DLL?

时间:2014-04-03 16:30:29

标签: c# c++ visual-studio-2012 dll sql-server-ce

我已经挣扎了好几天,不能把它拼凑起来。我有一个包含以下内容的应用程序:

  1. 用C#编写的主模块
  2. 用C ++编写的托管模块作为托管类库
  3. 第三方原生DLL&#39>
  4. SQL Server Compact Edition 4的DLL。
  5. 目前,所有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 DLL
    2. 主模块调用C ++类库
    3. 类库调用第三方本机DLL。 (我没有使用DLImport。我有lib文件,所以用extern "C"调用它们。
    4. 我尝试创建配置文件并使用<probing>但没有运气。我的猜测是<probing>仅适用于C#中的主模块。主模块从不直接调用第三方DLL。

0 个答案:

没有答案