相关疑难解决方法(0)

有没有更好的方法将本机dll复制到bin文件夹?

我有C#包装器代码,从本机(C++)DLL调用函数.目前,我可以添加对C#dll的引用,并将"Copy Local"选项设置为true.但是,作为依赖项的本机dll无法添加为引用 - 因此没有"复制本地"选项.

我尝试了以下方法

  1. 使用生成后事件将本机dll从Libs文件夹复制到 $(TargetFolder)

    copy "$(ProjectDir)Libs\NQuantLibc.dll" "$(TargetDir)NQuantLibc.dll"

  2. 将本机dll包含为项目中的现有项(添加 - >现有项 - >包括dll).此选项允许我使用"复制本地"选项.这种方法的缺点是dll总是显示为项目项.

我还尝试了"显示所有文件",这让我可以看到Libs文件夹.然后我在项目中包含NQuantLibc.dll文件,允许我设置"复制本地"选项.然而,这给了我一个意想不到的结果.它创建了一个Libs子文件夹,其中包含bin文件夹中的dll(例如bin/debug/Libs/NQuantLibc.dll).不理想,因为C#dll无法正确调用本机dll,因为它不在那里.

以上两个选项都有效.有没有更好的方法将本机dll复制到bin文件夹,以便始终解析依赖项?或者,这种情况有不同的方法吗?

.net build post-build-event visual-studio

17
推荐指数
3
解决办法
1万
查看次数

标签 统计

.net ×1

build ×1

post-build-event ×1

visual-studio ×1