从命令行设置MSBuild Web发布属性“ExcludeGeneratedDebugSymbol”

时间:2013-03-13 20:15:24

标签: .net-4.0 build msbuild nant

我正在使用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,但这也无济于事。

1 个答案:

答案 0 :(得分:0)

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

<arg value="/debug:pdbonly" />