【问题标题】:Deploying PDB Files in Release在 Release 中部署 PDB 文件
【发布时间】:2013-01-06 00:19:38
【问题描述】:

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

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%

所以看起来当 Configuration=Release 时 PDB 文件被留下了,尽管它们是在构建服务器上生成的。有什么想法吗?

【问题讨论】:

    标签: .net deployment msbuild continuous-integration


    【解决方案1】:

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

    【讨论】:

    • 哇,这太简单了。谢谢!
    • 陷阱:确保您选择了正确的配置。
    • 如果您要发布,请确保在那里也选择了正确的配置。它们必须在两边对齐。
    • 这对我不起作用 - Bakhodir 的回答确实
    【解决方案2】:

    如果您想在 deploy(publish) 时包含 pdb 文件,即使是对于 Release,请在项目文件中添加以下属性:

    <ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>
    

    【讨论】:

    • 应该在项目文件的什么地方添加这一行?最好能提供更多信息。此外,您可以通过详细说明如何使用 GUI 来改进您的答案。
    • 非常好!对于那些使用 MSBuild 命令行的人:ExcludeGeneratedDebugSymbol=false
    • 如果您选中/保存/取消选中/保存排除生成的调试符号,它将使用 GUI 在项目文件上创建一个显式条目。
    • 您也可以将此行添加到相应的发布配置文件中。
    猜你喜欢
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多