我有一个C#包装器代码,调用来自本地(C ++)dll的函数。目前,我可以添加对C# dll的引用,并将“Copy Local”选项设置为true。但是,作为依赖项的本地dll无法作为引用添加,因此没有“Copy Local”选项。
我尝试了以下方法:
1. 使用后构建事件将本地dll从Libs文件夹复制到
我还尝试了“显示所有文件”,这使我可以看到Libs文件夹。然后,我在项目中包含了NQuantLibc.dll文件,这使我可以设置'Copy Local'选项。然而,这给了我一个意外的结果。它在bin文件夹中创建了一个包含dll的Libs子文件夹(例如
以上两种方法都有效。是否有更好的方法将本地dll复制到bin文件夹中,以便始终解决依赖项?或者,是否有一种不同的方法来处理这种类型的情况?
我尝试了以下方法:
1. 使用后构建事件将本地dll从Libs文件夹复制到
$(TargetFolder)
copy "$(ProjectDir)Libs\NQuantLibc.dll" "$(TargetDir)NQuantLibc.dll"
2. 将本地dll作为现有项目项包含在项目中(添加->现有项->包含dll)。此选项允许我使用“Copy Local”选项。采用这种方法的缺点是dll始终显示为项目项。我还尝试了“显示所有文件”,这使我可以看到Libs文件夹。然后,我在项目中包含了NQuantLibc.dll文件,这使我可以设置'Copy Local'选项。然而,这给了我一个意外的结果。它在bin文件夹中创建了一个包含dll的Libs子文件夹(例如
bin/debug/Libs/NQuantLibc.dll
)。这不理想,因为C# dll不能正确调用本地dll,因为它不存在。以上两种方法都有效。是否有更好的方法将本地dll复制到bin文件夹中,以便始终解决依赖项?或者,是否有一种不同的方法来处理这种类型的情况?