【问题标题】:How can I have dependent third-party library copied to target folder如何将依赖的第三方库复制到目标文件夹
【发布时间】:2021-04-07 03:40:16
【问题描述】:

我有一个在我的程序中使用的第三方本地库 (API.DLL)。我为 API 编写了一个 C++ 包装器 (Wrapper.dll)。我的应用程序 (MyApp.exe) 调用包装器中的方法。 MyApp 项目引用 Wrapper 项目。当我运行我的应用程序时,我得到一个 FileNotFoundException:无法加载文件或程序集 'Wrapper.dll' 或其依赖项之一。

问题是找不到 API.DLL。当我构建 Wrapper 时,Wrapper.dll 和 API.DLL 文件都放在 Wrapper\Bin\Debug 文件夹中。当我构建 MyApp 时,Wrapper.dll 文件被放置在 MyApp\bin\Debug 文件夹中,但 API.DLL 文件没有!

当我构建解决方案时,在应用程序目标文件夹中获取第三方 DLL 的正确/最佳方法是什么?

【问题讨论】:

    标签: build


    【解决方案1】:

    将文件添加到您的项目中,将其放在项目内的根文件夹中,使解决方案显示所有文件,然后添加它(如果尚未添加)。

    然后更改文件的属性(右键单击-> 属性)以构建 action=None 并复制到输出目录=always 或更新(无论您喜欢什么)。

    文件将在您构建时被复制。

    【讨论】:

    • 将文件添加到“Wrapper”项目还是“MyApp”项目?我希望“MyApp”项目不需要了解“Wrapper”库的依赖项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多