BE0043 Error even when having Assembly Binding Redirection Plugin Configured.

Topics: Developer Forum, User Forum
Oct 6, 2012 at 2:37 PM

We are currently working on generating help documentation for our product. We are using SandCastle version 2.7 and SandCastle Help file Builder v 1.9.4.0.

We have configured "Assembly Binding Redirection" for one of the dependent assemblies that we reference from a dependent team.

We have found that even wit hthe "Assembly Binding Redirect" present the sandcastle help file builder is complaining with error BE0043.

A snnipet of the LastBuild.log is given below (it will show the redirection old and new version:

===========================================================

MRefBuilder (v2.7.0.0)  Copyright c 2006-2012, Microsoft Corporation, All Rights Reserved  Info: Loaded assembly binding redirect: Diebold.Agilis.Logger, Culture=neutral, PublicKeyToken=2d978e351d7e49ba, Version(s) 2.2.2.3 redirect to Version 2.2.3.3  Info: Loaded assembly binding redirect: StatusTranslatorWrapper, Culture=neutral, PublicKeyToken=null, Version(s) 1.0.0.0-1.0.4586.0 redirect to Version 1.0.4587.20771  Info: Loaded 17 assemblies for reflection and 1402 dependency assemblies.MREFBUILDER : error : Unresolved assembly reference: StatusTranslatorWrapper (StatusTranslatorWrapper, Version=1.0.3912.24407, Culture=neutral, PublicKeyToken=null) required by Diebold.Agilis.EmPower.Fan.StatusRequest [E:\SS\DEMP91x.P3.3.0.0.0.0\EMP91x_SRC\Src\Src\EmPower91xHelp\help\Working\GenerateRefInfo.proj]    Last step completed in 00:00:36.3298</buildStep><buildStep step="Failed">

SHFB: Error BE0043: Unexpected error detected in last build step.  See output above for details.
</buildStep></shfbBuild>

====================================================

Note:- The assemblies are built using .Net Framework 4.0 and VS2010  and we have confirmed that the expected version of the assembly does exist at the expected location.

Coordinator
Oct 6, 2012 at 7:24 PM

Check the build log and ensure that StatusTranslatorWrapper v1.0.458.20771 was picked up as a reference assembly.  If not, add it as a reference assembly.  If it's not included as a reference assembly, it will still fail to resolve it.

Eric

 

Oct 8, 2012 at 7:04 PM
Edited Oct 8, 2012 at 7:05 PM

Thank You.

We have the required StatusTranslatorWrapper.dll assembly included in the References "Tab". We also have the "Wild Card Assembly References" plugin configured and it also includes the location where this assembly along with other assemblies could be found.

So ideally sandcastle should have resolved the references based on the located paths and the "Assembly Binding Redirection plugin" configuration.
Thats when your earlier reply gave us the clue. We found that this assembly which is managed by an external team had been updated in the last iteration, so a newer assembly was now located at the reference path causing the expected version not to be found, hence causing the build failure .

We have soughted out the reference locations and now our build had succeeded.

 

YogeshPoojari