Within the same project, or projects within the same solution:
public abstract class BaseClass
{
/// <summary>
/// Returns a flag indicating whether this action
/// must be invoked on an STA thread.
/// </summary>
/// <value>
/// <see langword="true"/> if this action must be invoked on an STA thread;
/// otherwise, <see langword="false"/>.
/// </value>
public abstract bool RequiresSTA { get; }
}
public class DerivedClass : BaseClass
{
public override bool RequiresSTA
{
get { return true; }
}
}
Documenting the property in the derived class produces:
/// <summary>
/// Returns a flag indicating whether this action
/// must be invoked on an STA thread.
/// </summary>
/// <value>
/// <see langword="true"/> if this action must be invoked on an STA thread;
/// otherwise,
/// <see langword="false"/>.
/// </value>
Note the extra line-break in the second line of the <value> tag.
With the base class in a separate compiled assembly with XML documentation and a bin reference from the current project, documenting the property in the derived class produces:
/// <summary>
/// Returns a flag indicating whether this action
/// must be invoked on an STA thread.
/// </summary>
/// <value>
/// <see langword="true"/> if this action must be invoked on an STA thread;
/// otherwise,
/// <see langword="false"/>.
/// </value>
Not only is there an extra line-break, but now each new-line in the original comment is followed by 12 additional spaces. This did not happen in earlier versions.
I've also noticed that GhostDoc now seems to drop any <exception> tags from the documentation of a derived member, which is not correct.
I have a small project which reproduces the problem. Let me know if you want me to upload it somewhere.