在单个解决方案中调试多个项目

时间:2014-08-18 08:04:43

标签: c# .net debugging msbuild postsharp

使用PostSharp进行调试时,解决方案中是否有针对每个项目的调试器问题有什么办法吗?目前我的解决方案中有14个项目,并且尝试使用PostSharp调试其中一个项目似乎非常困难,因为解决方案中的每个项目都会弹出调试器附加窗口。如果我选择附加到错误的调试器进程,我设置的断点不会被命中,然后,当它开始构建下一个项目时,它弹出另一个窗口,其中没有我的活动VS实例。在msbuild上是否有一个标志我可以用来说“对调试器进程的所有要求使用相同的调试器进程”或者那样的东西?

1 个答案:

答案 0 :(得分:0)

据我了解,您正在按照PostSharp documentation中的步骤调试方面的编译时逻辑。

设置"附加调试器"在命令行上的属性,如下所示,将为构建中涉及的所有项目设置属性。因此,为每个项目调用附加到调试器。

msbuild MyAspects.Test.csproj /T:Rebuild /P:PostSharpAttachDebugger=True

您可以做的是,通过临时编辑* .csproj文件,仅为您需要的项目设置属性:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <PostSharpAttachDebugger>True</PostSharpAttachDebugger>
    <!-- ... -->
  </PropertyGroup>

如果您不想直接编辑* .csproj,则可以将 PostSharp.Custom.targets 文件放在项目目录中,并在那个文件。

<? xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <PostSharpAttachDebugger>True</PostSharpAttachDebugger>
  </PropertyGroup>
</Project>