OutputFolder with IntelliSenseComponent

Topics: User Forum
Sep 21, 2009 at 7:32 PM

In v1.8.0.2, if the Intellisense component is enabled with this destination:


(which is the default), I don't get the desired xml file anywhere, but if I specify an absolute path, I do get the xml there.

Sep 22, 2009 at 3:14 PM

I'm not aware of any problems.  What's the value of the project's OutputPath property?  It names the file after each assembly in the given output folder.  If you don't have XML comments files or it can't find them, it's possible it isn't outputing anything.



Sep 23, 2009 at 2:03 PM


More about my alternate tests of an absolute path as Intellisense destination folder: if it is very short, like c:\temp, I get the output there. If it is a 51 character path, I don't get the output anywhere.
As a fallback, I will just use c:\temp and externally copy the output where I want it.

An analog of my complete shfbproj file is below:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
    <!-- The configuration and platform will be used to determine which
         assemblies to include from solution and project documentation
         sources -->
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual
         Studio adds them anyway -->
    <!-- SHFB properties -->
      <DocumentationSource sourceFile="..\bin\Release\Xyz.General.xml" />
      <DocumentationSource sourceFile="..\bin\Release\Xyz.Norah.dll" />
      <DocumentationSource sourceFile="..\bin\Release\Xyz.Norah.xml" />
    <VisibleItems>ExplicitInterfaceImplementations, InheritedMembers, Protected, SealedProtected</VisibleItems>
    <HelpTitle>Norah Help</HelpTitle>
    <CopyrightText>Copyright &amp;#169%3b 2009</CopyrightText>
      <NamespaceSummaryItem name="(global)" isDocumented="False" />
      <NamespaceSummaryItem name="Xyz.Norah" isDocumented="True">Core classes for users to define models and customize scheduling logic</NamespaceSummaryItem>
    <ProjectSummary>Norah Scheduling API</ProjectSummary>
    <PlugInNamespaces>ms.vsipcc+, ms.vsexpresscc+, Xyz.Norah</PlugInNamespaces>
      <ComponentConfig id="IntelliSense Component" enabled="True">
        <component id="IntelliSense Component" type="SandcastleBuilder.Components.IntelliSenseComponent" assembly="{@SHFBFolder}SandcastleBuilder.Components.dll">
          <!-- Output options (optional)
                    Include Namespaces (false by default)
                    Namespaces filename ("Namespaces" if not specified or empty)
                    Directory (current folder if not specified or empty) -->
          <output includeNamespaces="false" namespacesFile="Namespaces" folder="{@OutputFolder}" />
      <HelpAttribute name="DocSet" value="{@HtmlHelpName}" xmlns="" />
<HelpAttribute name="DocSet" value="NetFramework" xmlns="" />
<HelpAttribute name="TargetOS" value="Windows" xmlns="" /></HelpAttributes>
  <!-- There are no properties for these two groups but they need to appear in
       order for Visual Studio to perform the build. -->
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <Reference Include="Xyz.General">
    <Reference Include="Xyz.Holst">
  <!-- Import the SHFB build targets -->
  <Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />

Sep 23, 2009 at 3:01 PM

I suppose you could be running into an overall path length limit (project location path length + OutputPath property length + filename length).  Although if that was the case, I'd expect to see an error in the log.  You could try moving the project to a folder closer to the root to see if that makes a difference.



Feb 23, 2010 at 1:00 PM

Hi, I found this thread because I had a similar problem. Because you are building a Web site, the output folder gets cleared. This probably happens after the IntelliSense file is generated. Solution: don't use the output folder.