我有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文件时,虽然它们是在构建服务器上生成的。有什么想法吗?
答案 0 :(得分:48)
如果要将pdb文件包含在发布中,请转到项目属性和打包/发布Web选项卡,取消选中“排除生成的调试符号”
答案 1 :(得分:20)
如果要在部署(发布)中包含pdb文件,即使对于Release,也要将以下属性添加到项目文件中:
<ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>