Jan 5, 2010 at 9:29 PM
Edited Jan 5, 2010 at 10:57 PM
When a SandCastle project includes a solution (.sln) file and that solution references projects that are excluded from being built, SandCastle still expects to find ALL of the projects' output assemblies, and fails with an error message such as:
SHFB: Error BE0040: Project assembly does not exist: [path\assemblyname]
This forces developers to either resort to:
a) Remove non-built projects from the solution
b) Do not add .sln files to sandcastle projects and instead explicitly add each project (.csproj, .vbproj, etc) to it
I suggest if SandCastle is going to process .sln files then it should correctly exclude all projects that are naturally excluded from build.
Note: Before you say "Why do you have projects included in the solution that are excluded from the build?" I will answer that. Suppose some project(s) is/are excluded from the build for certain build configurations but included on others. For example,
there may be a project that is only built in Release builds but excluded in Debug builds. This scenario is perfectly valid and supported by Visual Studio solutions. Then if a Debug build is performed, and SandCastle is instructed to use the Debug configuration,
it still demands that the output assembly exists for the project in question, which of course it does not and never will exist.
Edit: I should have put this on the Issue Tracker list instead. First time using the forum, wasn't sure what was available.
Posted on Issue Tracker as well (with just a link to this), at