我正在开发一个 C# WinForms 项目,目前正在 VS 2017 中开发,不过,它将使用 Mono 框架 ( MonoRuntime
)部署在带有 Ubuntu 16.04 LTS 的 Linux 机器上。
我正在引用EmguCV v3.2
和SQLite
在我的项目中。这两个都是 .NET 托管程序集,依赖于它们自己的本机库(EmguCV
使用cvextern.dll
和SQLite
使用SQLite.Interop.dll
)。
由于这个程序将在Linux计算机上进行部署,我编译和建造的.so
库文件对他们俩的(libcvextern.so
并且libSQLite.Interop.so
要准确)成功。
为了让我的应用程序在 Windows 上运行,这 2 个.so
文件是多余的,而当我的应用程序在 Mono 下的 Linux 上运行时它们是必需的(并且它们必须始终在执行目录中!)。
我的问题是,我想让 Visual Studio 2017 或 MonoDevelop 明白,如果我在 Windows 上构建(调试/发布),我需要将.dll
文件复制到输出目录(或),.so
如果在 Linux上的文件类似。你如何看待这个问题?
那么,如何正确设置 VS 2017 和 MonoDevelop 都遵守的 Post-Build 事件,它们在构建时识别底层当前操作系统并将相应的 lib 文件复制到输出目录?
为任何英语语法问题道歉,我是非母语者。
任何指针表示赞赏!
慕哥9229398
相关分类