在发布中部署PDB文件

时间:2013-01-22 17:10:33

标签: .net deployment msbuild continuous-integration

我有CI服务器设置来构建和部署我的所有环境,包括我的生产环境。据我所知,我的所有项目文件和CI设置的设置在我的Staging环境构建和我的Production环境构建之间是相同的。但是,当我部署到生产环境时,没有PDB文件与DLL文件一起存在,就像在暂存中一样。以下是部署每个应用程序的脚本:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe %location% ^
    /p:Configuration=%configName% ^
    /p:DeployOnBuild=True ^
    /p:DeployTarget=MSDeployPublish ^
    /p:AllowUntrustedCertificate=True ^
    /p:MSDeployPublishMethod=WMSvc ^
    /p:CreatePackageOnPublish=True ^
    /p:MsDeployServiceUrl=https://%serverName%:8172/MsDeploy.axd ^
    /p:DeployIisAppPath=%siteName% ^
    /p:UserName=%username% ^
    /p:Password=%password%

因此,似乎在配置=释放PDB文件时,虽然它们是在构建服务器上生成的。有什么想法吗?

2 个答案:

答案 0 :(得分:48)

如果要将pdb文件包含在发布中,请转到项目属性和打包/发布Web选项卡,取消选中“排除生成的调试符号” Settings

答案 1 :(得分:20)

如果要在部署(发布)中包含pdb文件,即使对于Release,也要将以下属性添加到项目文件中:

<ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>