简体   繁体   中英

Incorrect IntelliSense XML generated for F# record values (VS2013)

Update: as noted in the comments, this is a bug. I've reported it to Microsoft and it has been routed to a VS development team for investigation. I'll update this answer if and when there's news.

Further update: a fix has been committed to the project on CodePlex , yay!


Given a record type:

namespace Rather.Deep.Namespace

type TestRecord = {
    /// Property summary
    Prop : string
}

VS2013 generates the following IntelliSense XML for this field:

<member name="F:Rather.Deep.Namespace.Rather.Deep.Namespace.TestRecord.Prop">
 <summary>Property summary</summary>
</member>

I know about record values being treated as though they are fields and not properties. I can deal with that. What I can't understand is: why is the namespace being doubled?

(If you want to try for a repro, create a new library project in VS2013 containing nothing but that file, and look at the generated XML file in the bin folder. I just updated to VS2013.1—still no dice.)

As I suspected, and a couple of commentators agreed, this is a bug. I submitted a bug report on Microsoft Connect with a minimal test project attached, and not too long later a fix was committed to the project on CodePlex . Good job, F# team!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM