BE0071 - Error

Topics: User Forum
Oct 31, 2012 at 8:01 AM

I just started my very first project (VS2005). But all I get in the shfb is

SHFB: Error BE0071: Unable to locate information for the project framework version '.NET Framework 4.0' or a suitable redirected version on this system

This error is missing in the SHFB Ducumentation. So my newbie question: Waht can I do?

Thanks Andreas

Coordinator
Oct 31, 2012 at 4:02 PM

I'm behind in updating the documentation.  It may be having a problem finding the Frameworks.xml file in the Sandcastle tools folder.  If you installed Sandcastle in the default location and the DXROOT environment variable exists, it should find it just fine.  You may need to reboot so that the system environment variables take effect.  The file itself is in %ProgramFiles%\Sandcastle\ProductionTools.  It defines the locations for the various framework versions.  You can see the paths it's looking for in the configuration file.  It uses the reference assemblies which are usually in %ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework.  If they don't exist there for some reason, that could also cause the issue.

Eric

 

Nov 3, 2012 at 1:53 PM
Eric, thank you for your answer
  • In your documentation (MicrosoftHelp 2 Compiler) is the link for the VS 2005 SDK outdated: it is now: http://www.microsoft.com/en-us/download/confirmation.aspx?id=24530
  • if I build SHFB from .*proj with x86 processor as selected VS2005 build configuration "\x86\" in the buildpath is missing in DSFB
  • if I add the the .exe and .dll direct as Documentation Source it works 12 sec and then stops with:
    BUILDASSEMBLER : error : CopyFromIndexComponent: The indexed document 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\de\System.Data.Services.Client.xml' is not a valid XML document. The error message is: Ung ltiges Zeichen in der angegebenen Codierung. Zeile 11, Position 10. [D:\Documents\Visual Studio 2005\Projects\Basal\Basal\Help\Working\BuildReferenceTopics.proj]

    the corresponding lines are:
    <see cref="T:System.Data.Services.Client.DataServiceResponse" />-Klasse
    zur��egebenen Vorgangsantworten nach einem Aufruf von
    <see cref="M:System.Data.Services.Client.DataServiceContext.SaveChanges" />zur��egeben
    werden.</summary
  • Please note that there is a internationalisation problem:
  • "Ung ltiges Zeichen " should be read : Ungültiges Zeichen

It seams, that SFHB struggles with "Umlauten" äöüÄÖÜ in German....

(The BE0077 is on an other machine. I will reply to this topic later)

Thanks

Andreas


Coordinator
Nov 6, 2012 at 2:51 AM

What is "DSFB"?  Do you mean "SHFB"?  If using the command line, are you using the "/p:Platform=x86" option to specify the platform?  If you are using the GUI, are you using the combo box in the toolbar to select the x86 build configuration?  If it isn't there, you may just need to add it to the SHFB project as an option.  Creating a new blank project will contain the necessary configuration elements which you can cut and paste into your existing project.

The problem with the XML comments files is a .NET issue rather than a SHFB issue.  The XML parser probably cannot handle the foreign language characters.  If they are incorrect, you may just have to set the language to English to workaround it.  The alternative would be to edit the offending files and update the foreign language characters so that they are specified as encoded characters such as &#196;.

Eric

 

Nov 6, 2012 at 9:00 PM
Eric
thanks for your hints - now it works fine.
Andreas

Nov 20, 2012 at 4:00 PM

Hi Eric,

I just had the very same problem, where I could not build a documentation project because the referenced assemblies were found within the "de" subfolder within the .NETFamework\v.4.0\ folder.

Since I could not uninstall .NETs german Languagepack (and I did not want to) I had no chance to build the project.

I only got it to work, when I temporarily changed the "de" subfolder to a random new name while building the project. Since I read that Sandcastle searches especially for these localization subfolders names. With this workaround I was able to build.

I would like to see an option within the projectsettings where I can specify the folder where to search the xml files of .NET assemblies.

 

Thanks and have a super day :)

Dennis

Coordinator
Nov 20, 2012 at 9:18 PM

Are you sure you're talking about the same problem?  The reference assemblies are not in the localized folders.  It only looks for XML comments files in the localized folders.  Bad XML comments were causing the issue above.  If you don't want localized comments, just set the SHFB project's language property back to English and it will not attempt to use the localized XML comments files.

Eric

 

Nov 21, 2012 at 8:16 AM

Hi Eric,

yes I was talking about the XML comment files within the localized Folders. (Maybe my explanation was not clear enough, sorry).

The SHFB's language project property is indeed set to "Englisch(USA)". The XML comment files were searched within the "de" subfolder anyways.

This is what i get:

-------------------------------
[Sandcastle Help File Builder, version 1.9.5.0]
Creating output and working folders...
-------------------------------
Finding tools...
Found Sandcastle tools in 'C:\Program Files (x86)\Sandcastle\'
-------------------------------
Validating and copying documentation source information
Source: D:\Documentations\test\myproject.dll
    Found assembly 'D:\Documentations\test\myproject.dll'
Source: D:\Documentations\test\myproject.xml

Copying XML comments files
    D:\Documentations\test\myproject.XML -> D:\Documentations\test\Help\Working\myproject.XML
-------------------------------
Generating shared content files (en-US, Englisch (USA))...
    Last step completed in 00:00:00.1873
-------------------------------
Generating API filter for MRefBuilder...
    Last step completed in 00:00:00.1873
-------------------------------
Generating reflection information...
[C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe]
  MRefBuilder (v2.7.1.0)
  Copyright ¸ 2006-2012, Microsoft Corporation, All Rights Reserved
  Info: Loaded 1 assemblies for reflection and 1 dependency assemblies.
  Info: Wrote information on 3 namespaces, 22 types, and 114 members
  XslTransform (v2.7.1.0)
  Copyright ¸ 2006-2012, Microsoft Corporation, All Rights Reserved
  Info: Applying XSL transformation 'C:\Program Files (x86)\Sandcastle\ProductionTransforms\MergeDuplicates.xsl'.
    Last step completed in 00:00:16.4138
-------------------------------
Generating namespace summary information...
    Last step completed in 00:00:00.1094
-------------------------------
Applying visibility properties to reflection information file
    134 attribute nodes removed
    0 explicit interface implementations removed
    0 local and base class EII elements removed
    0 inherited member elements removed
    Last step completed in 00:00:00.1562
-------------------------------
Transforming reflection output...
[C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe]
  XslTransform (v2.7.1.0)
  Copyright ¸ 2006-2012, Microsoft Corporation, All Rights Reserved
  Info: Applying XSL transformation 'C:\Program Files (x86)\Sandcastle\ProductionTransforms\ApplyVSDocModel.xsl'.
  Info: Applying XSL transformation 'C:\Program Files (x86)\Sandcastle\ProductionTransforms\AddGuidFilenames.xsl'.
  XslTransform (v2.7.1.0)
  Copyright ¸ 2006-2012, Microsoft Corporation, All Rights Reserved
  Info: Applying XSL transformation 'C:\Program Files (x86)\Sandcastle\ProductionTransforms\ReflectionToManifest.xsl'.
    Last step completed in 00:00:11.7375
-------------------------------
Modifying help topic filenames in reflection information file
    No changes required
    Last step completed in 00:00:00.1093
-------------------------------
Copying standard help content...

[cut standardstuff because of length]

    Last step completed in 00:00:00.9067
-------------------------------
Copying additional content files...
No additional content to copy
    Last step completed in 00:00:00.0313
-------------------------------
Merging conceptual and additional tables of contents...
    Last step completed in 00:00:00.0000
-------------------------------
Generating intermediate table of contents file...
[C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe]
  XslTransform (v2.7.1.0)
  Copyright ¸ 2006-2012, Microsoft Corporation, All Rights Reserved
  Info: Applying XSL transformation 'C:\Program Files (x86)\Sandcastle\ProductionTransforms\CreateVSToc.xsl'.
Generating conceptual content intermediate TOC file...
    Last step completed in 00:00:05.8734
-------------------------------
Creating Sandcastle configuration files...
    sandcastle.config
    Last step completed in 00:00:00.1406
-------------------------------
Merging custom build component configurations
D:\Documentations\db\Help\Working\sandcastle.config
    Last step completed in 00:00:00.2499
-------------------------------
Building reference help topics...
[C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe]
  BuildAssembler (v2.7.1.0)
  Copyright ¸ 2006-2012, Microsoft Corporation, All Rights Reserved
  Info: CopyFromFileComponent: Instantiating component.
  Info: CopyFromFileComponent: Loading data file 'C:\Program Files (x86)\Sandcastle\Presentation\vs2005\Transforms\skeleton.xml'.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Searching for files that match '*.xml' in 'C:\Program Files (x86)\Sandcastle\Data\Reflection'.
  Info: CopyFromIndexComponent: Searching for files that match 'reflection.xml'.
  Info: CopyFromIndexComponent: Indexed 194003 elements in 410 files.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Instantiating component.
  Info: ForEachComponent: Loading subcomponents.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Loaded 1 subcomponents.
  Info: ForEachComponent: Instantiating component.
  Info: ForEachComponent: Loading subcomponents.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Loaded 1 subcomponents.
  Info: ForEachComponent: Instantiating component.
  Info: ForEachComponent: Loading subcomponents.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Loaded 1 subcomponents.
  Info: ForEachComponent: Instantiating component.
  Info: ForEachComponent: Loading subcomponents.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Loaded 1 subcomponents.
  Info: ForEachComponent: Instantiating component.
  Info: ForEachComponent: Loading subcomponents.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Loaded 1 subcomponents.
  Info: ForEachComponent: Instantiating component.
  Info: ForEachComponent: Loading subcomponents.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Loaded 1 subcomponents.
  Info: ForEachComponent: Instantiating component.
  Info: ForEachComponent: Loading subcomponents.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Loaded 0 copy components.
  Info: ForEachComponent: Loaded 1 subcomponents.
  Info: IfThenComponent: Instantiating component.
  Info: SyntaxComponent: Instantiating component.
  Info: SyntaxComponent: Loaded 2 syntax generators.
  Info: CopyFromIndexComponent: Instantiating component.
  Info: CopyFromIndexComponent: Searching for files that match '*.xml' in 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\de'.
BUILDASSEMBLER : error : CopyFromIndexComponent: The indexed document 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\de\System.Data.Services.Client.xml' is not a valid XML document. The error message is: Ungltiges Zeichen in der angegebenen Codierung. Zeile 11, Position 10. [D:\Documentations\db\Help\Working\BuildReferenceTopics.proj]
    Last step completed in 00:00:34.8397
-------------------------------

SHFB: Error BE0043: Unexpected error detected in last build step.  See output above for details.

Maybe this can help.

Thanks!

Dennis

 

Coordinator
Nov 21, 2012 at 5:44 PM

Okay, I found the problem and will get it fixed for the next release.  Part of the code that searches for XML comments tries to find files using the current language but that shouldn't be happening if a specific language is passed which is the usual case.  For me, the default language is English so it wasn't causing a problem.

Eric

 

Nov 26, 2012 at 8:39 AM

Hi Eric,

Thanks!

I'm glad I could help.

Dec 4, 2012 at 8:56 PM

FYI, I also ran into this problem. Although I had installed the .NET Framework 4.0, the machine was 32-bit, and I suspect that SHFB was looking for an "(x86)" directory, which it didn't find.

In any case, since my code is in .NET 3.5, I simply told SHFB to build against version 3.5 of the framework, and life was good.

Coordinator
Dec 5, 2012 at 2:13 AM

In your case, if your code is built against .NET 3.5, the proper action is to select the .NET 3.5 Framework in the Framework Version project property.  If not, trying to use .NET 4.0 assemblies which have a different version number in their strong name would fail.  It does use the "ProgramFiles(x86)" version of the environment variable as the default but falls back to the "ProgramFiles" version if the first doesn't resolve to anything so it'll find the assemblies either way.

Eric

 

Feb 19, 2013 at 11:14 AM
Hello
i had the problem SHFB: Error BE0071.
Thanks to all the informations of the thread, i managed to resolve it.

In fact, i wanted to use the Framework 4.0 and it was not referenced well in the Sandcasle/ProductionTools/Fameworks.xml.
I had to edit the file and change the location path for the framework from "%ProgramFiles(x86)%\Reference Assemblies\Microsoft[...]" to "%SystemRoot%\Microsoft.NET\Framework\v4.0.30319"

Franck
Coordinator
Feb 19, 2013 at 8:14 PM
Do you have Visual Studio 2010 installed? It's most likely that the Reference Assemblies folders for the related .NET versions don't exist unless you do have it installed. If such is the case, I can add an alternate location attribute to have it look in the actual framework folder in %SystemRoot%. The downside is that the XML comments files aren't there with the latest framework releases as they were in the past. They only appear to get installed with the reference assemblies.

Eric
Feb 28, 2013 at 2:53 PM
Eric,
It is a win server 2008 and visual studio was not installed.
Thank you for offering to fix your package but as far as i am concerned my problem is solved.
Franck