我使用惡性建立我的項目,發佈網站項目(一個或多個)。我想在生成的包中包含PDB。當我執行msbuild
時,如何從命令行設置ExcludeGeneratedDebugSymbol
屬性?設置的MSBuild網站發佈房產「ExcludeGeneratedDebugSymbol」從命令行
我試着將它添加到的參數列表中,但我沒有看到的PDBS依然。我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
爲假,但這也沒有幫助。
您可以發佈NAnt輸出。我懷疑未引用的屬性參數可能是一個問題 – 2013-03-14 11:29:18
如果需要,NAnt自動引用參數。舉例來說,我長的參數,它開始與'/ p:OutputPath ...'最終成爲'「/ P:OutputPath ......」'因爲它在'OutDir'參數的值空間。而且構建工作正常,我只是沒有得到PDB。我甚至不相信'ExcludeGeneratedDebugSymbol'屬性是有效的。我會在幾分鐘後發佈完整的命令行... – 2013-03-14 12:37:07
我的下一個猜測是設置調試信息。找到我的答案 – 2013-03-14 12:59:00