Compile help file for projects in earlier versions of .NET

Topics: User Forum
Jul 30, 2009 at 8:38 AM

Iv'e recently found this project and started documenting all my sourcecode.
But I have a few WebServices developed in .NET 1.1 and figured, no problem. Right?
When I try to compile the help file I get the error message: BE0065.

It almost seems like the version of MSBuild to use is hardcoded into SHFB because for me it's always using MSBuild that comes with .NET 3.5.
Wouldn't it be a nice feature if SHFB could determine the .NET version used for the development project and select the correct MSBuild to use, or
select the MSBuild based on the selection in the SHFB project properties?
Otherwise, why is that selection available?

Did anyone understand that rambling?

Jul 30, 2009 at 4:57 PM

The version of MSBuild has nothing to do with the documented assemblies.  SHFB is written with .NET 3.5 and uses the MBuild from that version of the framework to run its build projects.  If you are documenting assemblies for earlier .NET version's, make sure you set the FrameworkVersion property accordingly.  This tells SHFB which set of framework XML comments to use and which framework version to specify in the MRefBuilder configuration file.  The BE0065 error is a generic error and you'll need to supply more information from the log to give it context.



Jul 31, 2009 at 5:55 AM

Here it is. Although the full error message that I get is in Swedish, so bear with me while I attempt a translation. Although perhaps a horrible one.

[Sandcastle Help File Builder Utilities, version]
Creating output and working folder... 
Finding Tools...
Found Sandcastle in 'C:\Program\Sandcastle\'
Found HTML 1.x help compiler in 'C:\Program\HTML Help Workshop\'
Validating and copying documentation source information
Source:   C:\Inetpub\wwwroot\AMIwebservice\AMIwebservice.cproj
       Found project 'C:\Inetpub\wwwroot\AMIwebservice\AMIwebservice.cproj'
       Last step completed in 00:00:00.3245

<Translation of the errormessage>
SHFB: Error BE0065: BUILD FAILED: Projectfile must be opened in Visual Studio IDE and converted to the latest version before it can be generated by MSBuild. C:\Inetpub\wwwroot\AMIwebservice\AMIwebservice.csproj

That's all she wrote. SHFB doesn't get any further than that.
To me, this means that I must upgrade the C# project to .NET version 2.0 or later in order for this to work.
And also, the FrameworkVersion property IS set to the correct version of 1.1.4322.

It works perfectly for every other projects I have created in FrameWorkVersion 2.0 and later.
Besides this little snag this is an AWESOME product. Excellent work!


Jul 31, 2009 at 4:50 PM

Okay, it makes sense now.  Visual Studio 2003 has a different project file format that isn't compatible with MSBuild thus it can't load it.  I'd forgotten about that.  For those projects, you will need to add the assemblies, XML comments files, and references individually.  I just found that there is a project converter class in MSBuild so I'll take a look at that and see if it can be used to perform an in memory conversion of the project for the build.



Jul 31, 2009 at 4:51 PM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.