Missing Attribute information that is shown in old documentation in the Syntax section at the top.
OLD
https://msdn.microsoft.com/en-us/library/b3h38hb0(v=vs.110).aspx
<SerializableAttribute>
Public Structure Nullable(Of T As Structure)
New
https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1?view=netframework-4.7.1
Public Structure Nullable(Of T)
@mairaw Can you take a look at this request?
@dend @joelmartinez can you guys take a look? It seems like an mdoc issue.
I don't see that attribute in the source XML and Serializable is not one of the attributes that we're filtering out.
@mairaw yes, I will review this and see what's up
@dend Any update?
@Powerhelmsman @dend @joelmartinez
I see attributes on WinRT classes (e.g. https://docs.microsoft.com/en-us/uwp/api/Windows.Media.Capture.CameraCaptureUI) but they're missing values and therefore not useful. Any fixes in the pipeline?
@riverar fun fact - UWP and all other .NET APIs have their documentation generated by two different pipelines. We are working on addressing that for .NET-based APIs first, and will subsequently work with the UWP team to address it on their side as well.
We track the work for the .NET pipeline here: https://github.com/mono/api-doc-tools/issues/273 (cc: @joelmartinez)
For the sake of completeness ... are there any other .NET attributes that are missing? I've identified the cause, and a fix slated for the next release to add Serializable, but if there are more I'd like to address them all at the same time :)
@joelmartinez Serializable is a starter and probably one of the most important ones ๐
???
I provided an example earlier, all those attributes are missing values.
@riverar apologies for the confusion ... I meant for .NET classes. As @dend mentioned, UWP uses a different pipeline, so the instance value fixes will come from a different source. I work on mdoc (ie. the .NET pipeline), so that's what I was referring to ๐
@joelmartinez Got it. Let me hunt around for some more real quick.
@joelmartinez
โ
Fixed
~- SecurityCriticalAttribute https://docs.microsoft.com/en-us/dotnet/api/microsoft.win32.safehandles.criticalhandleminusoneisinvalid?view=netframework-4.7.1~
~- ClassInterfaceAttribute https://docs.microsoft.com/en-us/dotnet/api/accessibility.caccpropservicesclass?view=netframework-4.7.1~
~- InterfaceTypeAttribute https://docs.microsoft.com/en-us/dotnet/api/accessibility.iaccessiblehandler?view=netframework-4.7.1~
โ Not a bug
~- Microsoft.SharePoint.Client.ClientCallableTypeAttribute Microsoft.SharePoint.Client.SubsetCallableTypeAttribute https://docs.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.spuser?view=sharepoint-server~
~- ClientCallableTypeAttribute https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.server.social.spsocialfeed?view=sharepoint-server~
~- DataContractAttribute https://docs.microsoft.com/en-us/dotnet/api/microsoft.xrm.sdk.query.querybyattribute?view=dynamics-general-ce-9~
~- AttributeUsageAttribute https://docs.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.webpartpages.webpartstorageattribute?view=sharepoint-server~
~Should I file a separate bug on attribute values having incorrect syntax highlighting/colorization?~
@riverar DataContractAttribute. I see it applied and properly syntax colored.

Can you expound on what you meant by that particular item (I haven't looked at the rest yet, this was the first I randomly picked)
@joelmartinez Woops, let me filter this list. My language selector got set to C++.
@joelmartinez Shortened list above.
Updating this - the SerializableAttribute and others are now being displayed, however not yet available for languages other than C#. This work is tracked in https://github.com/mono/api-doc-tools/issues/274
@dend Negative. My test cases above all still fail.
@riverar
I see SecurityCritical for https://docs.microsoft.com/en-us/dotnet/api/microsoft.win32.safehandles.criticalhandleminusoneisinvalid?view=netframework-4.7.1 for example or am I missing something?

@mairaw Oh. ๐ณ I checked the reference source and wasn't aware SecurityCritical had an empty constructor variant.
I looked at some other examples and everything looks good there ๐
e.g. https://docs.microsoft.com/en-us/dotnet/api/system.security.rightsmanagement.unsignedpublishlicense?view=netframework-4.7.2
Will scratch this off my list.
I believe this can be closed given that we now have the Serializable attribute showing up. Tonight's build will also fix the issue of the Serializable attribute not working under the Attributes section.
Still two more attributes broken per https://github.com/MicrosoftDocs/feedback/issues/298#issuecomment-408528118
@riverar @mairaw looks like all attributes are now rendered correctly, including the ones in https://github.com/MicrosoftDocs/feedback/issues/298#issuecomment-408528118. Thank you two for sticking through the process! ๐
@dend Um. I'm not seeing that. For example, this page has a ClassInterfaceAttribute with zero parameters https://docs.microsoft.com/en-us/dotnet/api/accessibility.caccpropservicesclass?view=netframework-4.7.1

According to the docs, there is no parameter-less constructor for ClassInterfaceAttribute.
That's a separate issue @riverar. Our system is not version-aware at the moment so it displays all attributes that ever existed across all versions.
@dend do we have an issue tracking that?
@mairaw Are you saying ClassInterfaceAttribute had a parameter-less constructor at some point? That doesn't sound right.
That's what the reflection results are saying. Let me double check with the actual assemblies.
Hm print media dating back to 2002 doesn't show this. Also, having two of these attributes on a single object doesn't make a lot of sense either. I guess this bug is closed but the story is still busted. We'll need to turn around and file a new bug.
That might indeed be a separate issue - we now show the attribute, but we should check that the value for the parameter is different.
@riverar this seems to be a bug with mdoc. I'll file an issue in the appropriate repo and tag you.
This is what's generating:
https://github.com/dotnet/dotnet-api-docs/blob/master/xml/Accessibility/CAccPropServicesClass.xml#L26
This is what the source has:
https://referencesource.microsoft.com/#Accessibility/Accessibility/CAccPropServicesClass.cs,10
/cc @joelmartinez
@dend and what about the version-aware attributes? This is being tracked already right?
For example: https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.safebuffer?view=netframework-4.7.2
@mairaw Hmm, yeah โฆ looks like for some reason the formatter is not adding the parameter on some versions of that member definition. Thanks, looking forward to the gh issue on the mdoc repo.
@mairaw not tracked in a public forum, but that is part of the Schema-based Document Processor migration for .NET
That's what I imagined. Thanks for confirming.
Most helpful comment
@riverar this seems to be a bug with mdoc. I'll file an issue in the appropriate repo and tag you.
This is what's generating:
https://github.com/dotnet/dotnet-api-docs/blob/master/xml/Accessibility/CAccPropServicesClass.xml#L26
This is what the source has:
https://referencesource.microsoft.com/#Accessibility/Accessibility/CAccPropServicesClass.cs,10
/cc @joelmartinez