1

我正在使用 NAnt 构建我的项目并发布网站项目。我想在生成的包中包含 PDB。执行时如何ExcludeGeneratedDebugSymbol从命令行设置属性msbuild

我尝试将它添加到参数列表中,但我仍然没有看到 PDB。我的exec任务如下所示:

<exec program="${MSBuildPath}" workingdir="${path::get-full-path(PublishWebProject.SourcePath)}\">
  <!-- Don't show the logo. -->
  <arg value="/nologo"/>
  <!-- Build w/o Clean -->
  <arg value="/t:Build"/>
  <!-- Configuration, Output, Options, No Warnings -->
  <arg value="/p:OutputPath=bin\;OutDir=${path::get-full-path(PublishWebProject.OutputPath)};Configuration=${Configuration};Platform=Any CPU;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False;WarningLevel=0;RunCodeAnalysis=false;ExcludeGeneratedDebugSymbol=false"/>
  <!-- Quiet -->
  <arg value="/v:q"/>
  <!-- Project Path -->
  <arg value="${PublishWebProject.ProjectFileName}"/>
</exec>

这是对 MSBuild 的实际调用:

 [exec] Starting 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe (/nologo /t:Build "/p:OutputPath=bin\;OutDir=D:\Projects\XYZ\Publish\Release-Production\CommonWeb\;Configuration=Release-Production;Platform=Any CPU;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False;WarningLevel=0;RunCodeAnalysis=false;ExcludeGeneratedDebugSymbol=false" /v:q CommonWeb.csproj)' in 'D:\Projects\XYZ\Source\CommonWeb\'

这相当于:

D:\Projects\XYZ\Source\CommonWeb> C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /nologo /t:Build "/p:OutputPath=bin\;OutDir=D:\Projects\XYZ\Publish\Release-Production\CommonWeb\;Configuration=Release-Production;Platform=Any CPU;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False;WarningLevel=0;RunCodeAnalysis=false;ExcludeGeneratedDebugSymbol=false" /v:q CommonWeb.csproj

我也尝试将其设置UseWPP_CopyWebApplication为 false,但这也无济于事。

4

1 回答 1

0

您的项目文件包含有关输出调试信息的信息。尝试将调试信息设置为pdb-only

<arg value="/debug:pdbonly" />
于 2013-03-14T12:56:47.977 回答