NDoc project after a MSBuild

I want to create a Task that will generate a dynamic NDoc project file from the output of a build from a Team System Build.  I need a list of all documentation (.xml) files along with he assemblies for each project in the build.  I know that @(DocFileItem) will have the xml files.   I need is a list of assemblies.  I don’t know where that is.  I also need to know how to resolve the relative paths to absolute paths.< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

BTW I need to do this as opposed to calling NDocConsole against the same solution that MSBuild was ran against but I can't (yet).  NDoc hasn't been updated to run against solutions containnig VB.NET projects.  The alternative is running NDoc against the assemblies and documentation files generated from an MSBuild.  As a workaround I want to create a task that is ran after the assemblies are built.  This task will dynamically create the NDoc project from the xml and assemblies and then call NDdoc against that solution.

 

If someone has already solved this problem and I am spinning my wheels for no reason please let me know.



Answer this question

NDoc project after a MSBuild

  • Chad Scharf

    I can’t help feeling that I am going about this the wrong way.  Has anybody else tried to tackle the problem of generating code documentation help files after an MSBuild build of a solution using NDoc or anyother tool
  • grybyx

    am I missing something...isn't the TFSBuild.proj build type file a wrapper project that builds a solution and allows you to override the 'AfterCompile' target with your custom task
  • jenifer_

    Excellent.  Thanks. 

    Is there a way I can run a task after all the projects in a solution are built instead of running the tasks for each project

  • Kyaw.

    NDoc cannot (yet) open VB.NET projects and considering that all my projects are VB.NET that is no use.  The version of NDoc that will be released for the .NET framework 2.0 is supposed to support VB projects...we'll see.

    It looks like a manual build of the documents is the way to go for now.  Thanks for the help.


  • timecop

    Paul,

    I had this problem when I was working on my assemblyinfotask. I wound up using Document! X 4 from http://www.innovasys.com/, although they do not have an MSBuild task to integrate it into the build process (yet). I manually built the docs after the build.

    Did you have any luck calling NDoc from a wrapper project file

    Neil

  • James Yip

    Not easily. You'd have to write a wrapper project that builds the solution and then does a custom target after the solution builds. We have a blog entry on how to do that scheduled to go live tomorrow on our team blog, http://blogs.msdn.com/msbuild/. Unfortunately you won't have an easy way to capture the compiled output from the build using IntermediateAssembly, as that's a project thing not a solution thing.

    You might have to instead create your own item groups that recursively go through your directories to pick up all the .dll/.exe and .xml files, then pass those to your task.

    Neil



  • andy1114

    Thanks for the info.
  • Christopher Stott

    The list of assemblies is in the IntermediateAssembly item group. You might also want to look at our utility for helping wrap command line tools in a task. It'll auto-generate quite a bit of code from you off an XML description of the tool you're wrapping. More info on this is available at http://blogs.msdn.com/msbuild/archive/2005/10/25/484888.aspx.

    Neil

  • NDoc project after a MSBuild