以下工作正常,但它不会复制Asp.net Core 2.0项目的.pdb文件。
<ProjectReference Include="..\ProjectA\ProjectA.csproj">
<Project>{b402782f-de0a-41fa-b364-60612a786fb2}</Project>
<Name>ProjectA</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<OutputItemType>Content</OutputItemType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Targets>Build;DebugSymbolsProjectOutputGroup</Targets>
</ProjectReference>
那么,我们应该怎样做才能复制pdb文件?
答案 0 :(得分:1)
那么,我们应该怎样做才能复制pdb文件?
正如Marc和that bolg指出此方法在Visual Studio中不起作用来复制.pdb文件。因为我们设置了<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
项目引用而没有引用实际的二进制文件,所以VS / MSBuild不会复制.pdb文件。
很多人都问过如何复制.pdb文件除了 .exe / .dll。事实证明有一个技巧,,但它不起作用 在VS建设。但是没关系,因为你真的不需要VS中的.pdb 无论如何,因为调试器将在其原始路径上找到.pdb 反正。
如果您仍想复制此.pdb文件,则可以对项目使用MSBuild copy task或build event:
MSBuild复制任务:
要完成此操作,请卸载您的项目。然后在项目的最后,就在结束标记之前,放在脚本下面:
<Target Name="CopyPDBfile" AfterTargets="Build">
<Copy SourceFiles="$(SolutionDir)ProjectA\bin\Debug\ProjectA.pdb" DestinationFolder="$(TargetDir)" />
</Target>
构建活动:
在Pre-build / Post-build事件中添加以下构建命令行:
xcopy /y "$(SolutionDir)ProjectA\bin\Debug\ProjectA.pdb" "$(TargetDir)"
注意:不要忽略构建命令行中的双引号和空格。
希望这有帮助。