Sandcastle issue? Error: Unresolved assembly reference

I'm trying to build documentation for a class library that contains references to a few CrystalReports components. I tried the steps described on the Sandcastle blog to add the dependent information, but I now have this message which stops me from creating the documentation:

Error: Unresolved assembly reference: CrystalDecisions.ReportAppServer.CommLayer (CrystalDecisions.ReportAppServer.CommLayer, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304) required by CrystalDecisions.CrystalReports.Engine

The problem here is that this component (CrystalDecisions.ReportAppServer.CommLayer) is not available to you when have VS 2005 installed and simply use Crystal Reports for .Net which is included with VS 2005. But one of the Crystal components that my library references apparently references this component. When running applications that use my library, this is not really an issue, because the ReportAppServer functionality is not supported by Crystal for .Net.

So I have the following questions:

  1. How do we solve such a problem when you want to generate documentation with Sandcastle I think this will occur more often.
  2. Will a GUI or VS add-in automatically retrieve the /dep information based on the references defined in the project/solution

If you need the code and the batchfile I use to generate the documentation, please let me know!




Answer this question

Sandcastle issue? Error: Unresolved assembly reference

  • Christian Sparre

    From the message, it appears that you've got the June CTP of Sandcastle installed but don't have an up to date version of the help file builder. Version 1.5.0.1 was released around June 26th and is the only version compatible with the June CTP of Sandcastle.

    Eric


  • Ranjeetchoudhary

    Jan,

    thanks for the thread, i have just had the exact same problem :)

    This has to be one of the most annoying of the current "bugs" (not being able to reference things in the GAC, or have Sandcastle automatically check the GAC for dependencies). The other gripe i have is about hard coded paths like "/Output" - makes it hard when changing the sandcastle targets file to fit in with the drive/folder areas you allocated for the build process.

    sluggy


  • rxg

    i've the same problem too, i trying to slove it and the last success. you can add dependencies path to the .shfb project to slove it.



  • peter_fischer

    I'll look into that. I'm getting a new box Tuesday so I'll get a whole new installation and a new Sandcastle build and see if that fixes it. It should.

    Thanks everybody.


  • pcompassion

    I've run into that a lot but even stranger, I’m getting this message

    Error: Unresolved assembly reference: Microsoft.Ccf.Common (Microsoft.Ccf.Common, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4f00c1aa5320a4d9) required by Microsoft.Ccf.Csr.Core

    Yet, BOTH assemblies are in the list. I even added the folder where they live to the dependencies. I’m at a loss.

    I am assuming that I am pointing Sandcastle at everything it needs but still it seems to be looking for something that it already has.

    Any ideas

    Thanks


  • Henrik Skak Pedersen

    Hi,

    Just a guess, but it sounds like it could be a version issue. Can you confirm whether version 3.0.0.0 or a different version is in the GAC and in your dependencies folder Also, if you've modified the MRefBuilder.config file to enable searching the GAC for dependencies, try turning it off.

    - Dave



  • Mortsdeh

    I have done and used your app however I don't know how this solves the problem

    Presumably I need to change some references somewhere in my project but I can't locate where (or what).

    Could you elaborate please.

    Thank you.


  • GiriKrishna

    The version is correct and I haven't modified the config file at all. However, I started a new project from scratch with a new build for the product and am getting similar errors. But in this case it's pointing to assemblies that don't have accompanying .xml comment files, so there could be a coding issue. I'll beat on that for a while to make sure it's not a dev issue. Sandcastle worked fine before but now it doesn't so it's probably something else.

    Also getting the following error in the new project:

    Warning: MRefBuilder has a version of '2.2.64000.4' but version '2.2.61208.0' was expected. You may need to update your copy of the help file builder.

    It appears to be looking for an older version of the MRefBuilder. This Sandcastle was installed at the end of July. Is there are later version out there


  • Terence Lee

    Jan,

    I am assuming it's in your GAC. Currently there is not an alternative and we hope to address this in future.

    Anand..



  • Keith Newton

    June 2007 CTP is the current release. Have you tried installing (or reinstalling) the latest version of SHFB



  • Ephi

    Yep, you're right on that one . I managed to solve this by creating a backup folder for the files in my GAC. To simplify that process, I created a small console application that copies all binaries from the GAC to that backup folder. Any one who wants to use that application can download it from my blog: http://bloggingabout.net/blogs/jschreuder/archive/2006/08/09/13282.aspx

  • danych

    I just re-read my post here, and yes it is a little vague. So here's some more information:

    When you run the application which you find at my weblog, you will see that a folder is created where the components from the GAC are copied to. But MRefBuilder still needs to know where to find those components. You will need to specify the /dep argument for the components. The following command line will do this, assuming the GAC components are copied to a folder at C:\CopyGac

    MRefBuilder C:\Projects\Test\Bin\Debug\Test.DLL /dep:C:\CopyGac\CrystalDecisions.Shared.DLL /out:reflection.org

    That way, MRefBuilder is able to find the components it needs.



  • Sandcastle issue? Error: Unresolved assembly reference