在发布中部署PDB文件

Chr*_*ris 24 .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%
Run Code Online (Sandbox Code Playgroud)

因此,似乎在配置=释放PDB文件时,尽管它们是在构建服务器上生成的.有任何想法吗?

Nar*_*ois 48

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

  • 问题:确保选择了正确的配置. (3认同)
  • 这对我不起作用 - 巴霍迪尔的回答 (2认同)

小智 20

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

<ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>
Run Code Online (Sandbox Code Playgroud)

  • 如果检查/保存/取消选中/保存排除生成的调试符号,它将使用GUI在项目文件上创建显式条目. (3认同)
  • 非常好!对于那些使用MSBuild命令行的人:ExcludeGeneratedDebugSymbol = false (2认同)