Azure DevOps — включить генерацию файла .pdb через VSBuild @1

#build #azure-devops #azure-pipelines #pdb-files #buildconfiguration

#сборка #azure-devops #azure-конвейеры #pdb-файлы #конфигурация сборки

Вопрос:

У меня есть pubxml, который используется в VSBuild@1 задаче, и сборка работает нормально, за исключением того, что я не получаю свои файлы .pdb. Как я могу убедиться, что файлы .pdb также включены в мой выпуск?

Конфигурация выпуска проекта

 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Staging2|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <LangVersion>default</LangVersion>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  

Файл Pubxml

 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Staging2</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>Publish</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
    <TargetFramework>net472</TargetFramework>
    <DebugSymbols>True</DebugSymbols>
    <DebugType>Full</DebugType>
  </PropertyGroup>
</Project>
  

Задача сборки YAML

 task: VSBuild@1
  inputs:
    solution: '**MyAppsMain.csproj'
    msbuildArgs: '/t:build /p:DeployOnBuild=true /p:PublishProfile=publish.pubxml /p:OutputPath=$(build.artifactStagingDirectory)MainPublish'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)' 
  

Основываясь на том, что я просмотрел, если вы можете установить /Build=full свойство, все будет в порядке. Ну, мой вопрос в том, если это так, куда мне его добавить?

Комментарии:

1. Вы пробовали добавлять следующее в msbuildArgs : /p:DebugType=full ?

2. @YanSklyarenko Я занимаюсь этим … 🙂

3. @YanSklyarenko Это сработало;) не могли бы вы опубликовать это в качестве ответа, чтобы я мог принять его, и вы получите повышение репутации: D

Ответ №1:

Аргументы MSBuild, эквивалентные <DebugType>Full</DebugType> части файла проекта, являются: /p:DebugType=full .

Итак, если вы измените свой msbuildArgs раздел задачи VSBuild, добавив /p:DebugType=full , это должно сработать.