Точки останова не попадают в проект netstandard, на который ссылается проект Android

В моем проекте Xamarin для Android есть ссылка на проект .NetStandard. Точки останова в проекте Android работают нормально, но не в коде .NetStandard. Есть ли обходной путь, чтобы исправить это?


person xleon    schedule 09.04.2017    source источник


Ответы (1)


Я считаю, что поддержка ppdb не совсем подходит для Xamarin. Таким образом, подразумеваемый <DebugType>portable</DebugType> в стандарте dotnet .csproj несовместим.

Вы должны иметь возможность достигать точек останова в стандартной библиотеке dotnet, добавляя следующее в файл .csproj стандартной библиотеки dotnet:

<DebugType>Full</DebugType>

Это вернет тип отладки по умолчанию «полный» вместо ppdb (portable pdb).

https://github.com/dotnet/core/blob/master/Documentation/diagnostics/portable_pdb.md#supported-scenarios

Если есть необходимость в условном выражении, вы можете вернуться к следующему:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugType>Full</DebugType>
  </PropertyGroup>

or

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdb-only</DebugType>
  </PropertyGroup>

Однако версия <DebugType> немного избыточна.

person Jon Douglas    schedule 09.04.2017