OT: Project File Extension

Topics: General Questions
Jan 2, 2010 at 3:30 AM

Hello Dave,

This is off-topic, but wish to bring it to your notice. I am currently considering project file extension
for my Sandcastle Assist project in the MSBuild format.

The extension is *.docproj, since it purely documentation project (i.e. neither C# nor VB.NET project).

Do you have any problem with that extension, since it is close to your DocProject name?

Best regards,

Jan 2, 2010 at 8:32 AM
Edited Jan 2, 2010 at 8:33 AM

Hi Paul,

I have no problem with you using .docproj as the extension for Sandcastle Assist projects.  Thanks for asking :)

If I do decide to use it in the future (it was already considered, but I won't get into the details of my decision now) then I don't think it will cause any conflicts.  Even VS extensibility, if you plan on integrating later, should handle two different packages fine since project types are identified by more than just their template's file extension.


Jan 2, 2010 at 12:03 PM

>>DaveThanks for asking
This is year 2010, I planned for better life and do no evil :)

>>Dave: ...then I don't think it will cause any conflicts.
I have just completed a rather long discussion of the project layout in a blog.

As discussed in the blog, an alternative is *.sandproj. VS extensibility conflicts
will be the least problem, one main is the explorer file association. So, make your
stand clear, if you planned to use it in the future.

Best regards,

Jan 2, 2010 at 1:30 PM

Hi Paul,

Clearly my opinion on this will be biased :)

I'd love to reserve .docproj in case I decide to use it in the future, but I don't have that right.  And if you decide to use it I seriously won't have any problem with it at all.  Anyway, if I decided to make use of .docproj as well and somebody decided to have both of our tools installed, and if the file association was for Visual Studio, then I don't think it would really matter either way since VS could distinguish the actual project type based on the GUID in the solution file (I guess?).

Some background on my decision not to use .docproj:

I had considered trying to squeeze some new features into a custom VS project type with .docproj as the extension, but after some careful consideration I realized it was only because its name fits so well - trying would produce some strange tangent to DocProject's current feature set and its planned features.  I therefore decided that it just wasn't right for DocProject at that time.  Also I figured that SHFB would eventually integrate into VS to provide a custom Sandcastle/NDoc project flavor, where perhaps something like .docproj would make sense.  DocProject's direction is different.

I have no plan currently to create a root DocProject project flavor.  Currently I use templates of existing project types and for the package I'll be using project subtypes.  The reason is that templates or subtyping provide some great features, including extensibility, as well as a base implementation that I'd lose if I were to create a custom project type from scratch.  (Well, I probably could add those features myself if I wanted to recreate the entire C# and VB.NET class library and web application functionality in my custom project type - but thankfully I don't :)

So even with a VS package the future of DocProject will probably continue on in the same direction; e.g., to support C#, VB.NET and maybe even F# project types in DocProject 2.0, I'll have project subtypes that perhaps use extensions such as, .csdproj, .vbdproj and .fsdproj.  Unless of course I think of something better :)

- Dave

Jan 3, 2010 at 9:58 PM

Hello Dave,

Now I have view of your stand, thanks for the input. 

>> I'd love to reserve .docproj in case I decide to use it in the future, but I don't have that right.

Okay, I have decided to look for alternatives, could even use Sandcastle Assist derived *.satproj,
*.sanaproj, *.sasproj, *.sassproj or Sandcastle Workshop derived, *.swkpproj, *.swpproj, *.skpproj etc.

Best regards,

Jan 4, 2010 at 12:20 AM
Edited Jan 4, 2010 at 12:21 AM


For Sandcastle Assist I see no reason why you shouldn't use .sandproj, if you decide not to use .docproj.  At least .sandproj is clear to anyone using "Sandcastle" Assist :)

- Dave

Jan 4, 2010 at 3:45 AM

>>Dave: At least .sandproj is clear to anyone using "Sandcastle" Assist :)...

True, that is what we have being trying to do, anyway - thanks.

Best regards,