在我的项目中我有
建立第一个dll时复制到“x64 /” 然后将包装器复制到“x64 /”。在最后阶段,wrappper dll被复制到“projectName \ bin \ x64”文件夹,但原始的本机dll没有被复制。
我需要原生dll也去最后的文件夹,所以我可以运行应用程序,怎么做?
我曾尝试添加“native dll”作为依赖项,但VS表示这是不可能的。
upd 此外,如果我自己复制dll然后调试我无法进入本机dll,我收到“断点当前不会被命中。没有为此文档加载符号”错误。所以我认为这个问题是相互关联的。我希望复制本机DLL,我希望能够进行调试。
upd 这个答案帮助我调试Cannot Debug Unmanaged Dll from C#但是我仍然需要自己复制dll。什么是奇怪的,因为每次我建立项目时都会发出“本机dll”项目过时的警告。
答案 0 :(得分:3)
据我所知,您需要使用构建后步骤。以下是几个例子:
How do I exclude a specific file from my msbuild AfterBuild target
<Target Name="AfterBuild">
<ItemGroup>
<BinFiles Include="bin\$(ConfigurationName)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(BinFiles)" DestinationFiles="@(BinFiles->'$(ProjectDir)\relativePathToDirectory" />
</Target>