【发布时间】:2012-11-27 17:31:11
【问题描述】:
在我的项目中
- 原生 c++ dll 项目(输出到 x64/)
- c++/cli 包装器(输出到 x64/)
- 几个 c# 项目(输出到 projectName\bin\x64)
在构建第一个 dll 时将其复制到“x64/” 然后将包装器复制到“x64/”。在最后阶段,wrappper dll 被复制到“projectName\bin\x64”文件夹,但没有复制原始的 native dll。
我需要native dll也到final文件夹,这样我才能运行应用程序,怎么做?
我曾尝试将“native dll”添加为依赖项,但 VS 说这是不可能的。
upd 另外,如果我自己复制 dll 然后调试,我无法进入本机 dll,我收到“断点当前不会被命中。没有为此文档加载任何符号”错误.所以我认为这个问题是相关的。我希望复制本机 dll,并且希望能够进行调试。
upd 这个答案帮助我调试了Cannot Debug Unmanaged Dll from C#,但是我仍然需要自己复制 dll。奇怪的是,每次我构建项目时,我都会收到“native dll”项目已过时的警告。
【问题讨论】:
-
您可以使用 xcopy 作为构建后的步骤吗?
-
@penguat 我有 nativde dll 项目。我有 cli 包装器。我希望有一些简单的方法可以将所有东西放在一个地方。这是一个很常见的问题。这种情况下的每个人都使用
xcopy吗? -
我认为每个人都使用构建后步骤。不是每个人,这不是权威,但它可能是实现你想要的最好的记录方式。赏金有望很快吸引更多权威的答案。