locked
Error loading assembly using Reflection RRS feed

  • Question

  • So I have been struggling with this for a while and I think I need some help here :

    Error Message:
    File or assembly name ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A, or one of its dependencies, was not found.
    at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark) at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark) at System.Reflection.Assembly.Load(String assemblyString) at ISOSSI.Rating.ISOSSIEngine.UseMultipleAppDomains(String assemblyName) at ISOSSI.Rating.ISOSSIEngine.Rate(String requestXml, String parametersXml)

    Dump from Fusion Log:

    *** Assembly Binder Log Entry  (4/16/2009 @ 5:36:42 PM) ***

    The operation failed.
    Bind result: hr = 0x80070002. The system cannot find the file specified.

    Assembly manager loaded from: c:\WINNT\Microsoft.NET\Framework\v1.1.4322\fusion.dll
    Running under executable C:\WINNT\system32\dllhost.exe
    --- A detailed error log follows.

    === Pre-bind state information ===
    LOG: DisplayName = ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8086afa2cded7060
    (Fully-specified)
    LOG: Appbase = C:\WINNT\system32\
    LOG: Initial PrivatePath = NULL
    LOG: Dynamic Base = NULL
    LOG: Cache Base = NULL
    LOG: AppName = NULL
    Calling assembly : (Unknown).
    ===

    LOG: Processing DEVPATH.
    LOG: DEVPATH is not set. Falling through to regular bind.
    LOG: Publisher policy file is not found.
    LOG: Host configuration file not found.
    LOG: Using machine configuration file from c:\WINNT\Microsoft.NET\Framework\v1.1.4322\config\machine.config.
    LOG: Post-policy reference: ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8086afa2cded7060
    LOG: Cache Lookup was unsuccessful.
    LOG: Attempting download of new URL file:///C:/WINNT/system32/ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A.DLL.
    LOG: Attempting download of new URL file:///C:/WINNT/system32/ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A/ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A.DLL.
    LOG: Attempting download of new URL file:///C:/WINNT/system32/ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A.EXE.
    LOG: Attempting download of new URL file:///C:/WINNT/system32/ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A/ISOSSI.Rating.RB0B4ABC32_1737_40C8_B22F_D1D8B5EADE7A.EXE.
    LOG: All probing URLs attempted and failed.


    Background:

    Our build environment for assemblies has been VS 2003. However our runtime environment has always been  "v2.0.50727" (configured in IIS Vdir)

    I tried migrating the assembly solution file from VS 2003 to VS 2008 and was able to do so with successful compilation ( Target framework was 2.0.50727 ) and GAC them as well.

    Now when I run the application is when I am getting the above mentioned error.

    Did some googling myself and even added the following setting in my web.config

    <

    startup >

    <

    supportedRuntime version = " v2.0.50727 " />

    </

    startup >

    Still no luck. Confused as to why the Assembly Manager from Framework 1.1 is being called.

    Any help is appreciated.

    Regards,
    Sumeet.


    SM
    Friday, April 17, 2009 10:42 PM

Answers

  • The fact that 1.1 fusion.dll is used is weird. It looks like your web server is really not properly configured to run on .NET Framework 2.0.
    You can verify which version runs by printing out System.Environment.Version or looking at the path of mscorwks.dll under debugger (or using Process Explorer, etc.).
    If that's the case, try to convince IIS to use .NET Framework you want (unfortunately I don't how to do that - you could probaby ask on asp.net forum).

    If you solve this problem, then the right fusion.dll should be used and your assemblies should be found (if they are in GAC, etc.).

    -Karel
    • Marked as answer by Zhi-Xin Ye Friday, April 24, 2009 1:22 PM
    Monday, April 20, 2009 5:50 PM