Property class Length Annotation PersistedResolvableAnnotation
I found the issue myself. I will document it in case anyone else is facing the issue in future.
The following user definition:
CREATE USER [Angela] WITHOUT LOGIN
WITH DEFAULT_SCHEMA = [Angela];
created the following code in the model.xml that avoids publishing, maybe because the schema (Angela) used there is invalid because it simply does not exist:
<Element Type="SqlUser" Name="[Angela]">
<Property Name="IsWithoutLogin" Value="True" />
<Relationship Name="DefaultSchema">
<Entry>
<Annotation Type="PersistedResolvableAnnotation" Name="[Angela]">
<Property Name="TargetTypeStorage" Value="SqlSchema" />
<Property Name="Length" Value="9" />
<Property Name="Offset" Value="63" />
</Annotation>
</Entry>
</Relationship>
</Element>
After changing the user definition to:
CREATE USER [Angela] WITHOUT LOGIN
WITH DEFAULT_SCHEMA = [dbo];
the model lookes as followes and could be published:
<Element Type="SqlUser" Name="[Angela]">
<Property Name="IsWithoutLogin" Value="True" />
</Element>
I have a feeling that this strange behavior is kind of a follow-up of another misbehavior because I would expect the not existing schema to raise a compiler error.
For me, the solution was that I was using an outdated version of SqlPackage.exe.
Old version path:
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe
New version path:
C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\SqlPackage.exe
It is installed by Microsoft SQL Server Data Tools (SSDT).