none
Could not load file or assembly 'Microsoft.Hpc.Scheduler.Store' when attempting connect to scheduler RRS feed

  • Question

  • I'm trying to develop a job-based HPC system, but I have fallen at the first hurdle.

     

    The following code:

     

    IScheduler scheduler = new Scheduler();

    scheduler.Connect("HPC2008HN1");

     

    throws an exception when connecting with:

     

    Could not load file or assembly 'Microsoft.Hpc.Scheduler.Store, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

     

    MTIA

     

    Andy

    Friday, April 4, 2008 11:09 AM

Answers

All replies

  • Hi Andy,

     

    Those pesky MS developers are rather indecisive on the assembly and namespace naming scheme of late.   The API has changed with HPC Pack 2008 CTP (March 2008).   You'll probably want to try referencing the assembly withint the HPC Pack SDK bin folder named Microsoft.Hpc.Scheduler.dll and then use the corresponding namespace as indicated below.  The IScheduler interface scheme is renamed as indicated in the code sample below.

     

    using Microsoft.Hpc.Scheduler;

    namespace SimpleApiTest

    {

    class Program

    {

    void CreateJobExampleOne()

    {

    Scheduler scheduler = new Scheduler();

    scheduler.Connect("localhost");

    ISchedulerJob job = scheduler.CreateJob();

    .....

     

    Please let us know if this doesn't solve the issue.  You may wish to disassemble Microsoft.Hpc.Scheduler.dll using ildasm.exe and review the namespace constructs therein.   There may be other changes affecting your code and this is one way to view the object model directly in full directly.

     

    Best Wishes,

    PhilPenn

     

    Monday, April 7, 2008 2:45 AM
  • I was aware of the namespace change and my example is indeed using it

     

    ildasm seems to show me that it does rely on Microsoft.Hpc.Scheduler.Store which doesn't exist on my machine (a Vista-64 box if that makes any difference).

     

    Sysinternals' procmon also shows that it's attempting to load the Microsoft.Hpc.Scheduler.Store assembly from the GAC.

     

    Do you have a Microsoft.Hpc.Scheduler.Store assembly installed (perhaps from previous SDKs)?

     

    The only non-standard assemblies my 2-line test .exe references directly (and which can be found in my build directory) is Microsoft.Hpc.Scheduler.dll and Microsoft.Hpc.Scheduler.Properties.dll.

     

    FYI: Visual Studio 2008, Vista-64 O/S, HPC 2008 SDK (CTP - March 2008).

     

    As you can imagine this is stopping me from making any progress whatsoever and a roll-my-own solution is looking more and more attractive

     

    MTIA

     

    Andy

     

    FWIW my definition of

    Code Snippet
    Microsoft.Scheduler.Hpc.Scheduler.Scheduler::Connect : void(string)

     

     

     looks like this:

     

    Code Snippet

    .method public hidebysig newslot virtual final

    instance void Connect(string cluster) cil managed

    {

    // Code size 31 (0x1f)

    .maxstack 8

    IL_0000: ldarg.1

    IL_0001: ldstr "cluster"

    IL_0006: call void Microsoft.Hpc.Scheduler.Util::CheckArgumentNullOrEmpty(string,

    string)

    IL_000b: ldarg.0

    IL_000c: ldarg.1

    IL_000d: call class [Microsoft.Hpc.Scheduler.Store]Microsoft.Hpc.Scheduler.Store.ISchedulerStore [Microsoft.Hpc.Scheduler.Store]Microsoft.Hpc.Scheduler.Store.SchedulerStore::Connect(string)

    IL_0012: stfld class [Microsoft.Hpc.Scheduler.Store]Microsoft.Hpc.Scheduler.Store.ISchedulerStore Microsoft.Hpc.Scheduler.Scheduler::_store

    IL_0017: ldarg.0

    IL_0018: ldc.i4.1

    IL_0019: stfld bool Microsoft.Hpc.Scheduler.Scheduler::isOwned

    IL_001e: ret

    } // end of method Scheduler::Connect

     

     

    Monday, April 7, 2008 12:31 PM
  • The Microsoft.Hpc.Scheduler.Store dll is indeed missing from the CTP SDK. 

     

    As a workaround you can install the CTP client utilities as well as the SDK on your development machine; this will install the missing file to the GAC.

     

    I've opened a bug on this issue -- thanks for your patience!

    Tuesday, April 8, 2008 11:40 PM
  •  FYI: Am connecting now.

    Wednesday, April 9, 2008 10:55 AM
  • Could someone post a URL to where the client utilities can be downloaded?  I too am looking for the missing Microsoft.Hpc.Schedule.Store assembly but can not find it or the client utilities anywhere.
    Tuesday, July 22, 2008 9:34 PM
  • Found it on the Head Node here:
    C:\Windows\assembly\GAC_MSIL\Microsoft.Hpc.Scheduler.Store\2.0.0.0__31bf3856ad364e35\Microsoft.Hpc.Scheduler.Store.dll


    You can't browse to that folder but you can copy is via  a cmd prompt.

    copy C:\Windows\assembly\GAC_MSIL\Microsoft.Hpc.Scheduler.Store\2.0.0.0__31bf3856ad364e35\Microsoft.Hpc.Scheduler.Store.dll c:\
    Wednesday, July 23, 2008 5:39 PM
  • Any updates on this issue?  I'm sorry, I just can't wait...

    Can you elaborate on what a CPT client utility is? 

    Here is what they say in the HPC SDK Website...

    If you will be writing applications that call the scheduler API you must install the client utilities included with Windows HPC Server 2008 to ensure that the appropriate scheduler DLLs are installed. You may obtain the product and utilities in one of three ways.

    1. Through your workplace volume license
    2. MSDN
    3. Download the evaluation version of the product from here


    Let me just say that I was unable to find anything usable on MSDN.  If I could just download the missing DLL files, or perhaps install just 1 more SDK that gives me the missing DLL's, that would be ideal.

    Any feedback greatly appreciated.
    Thanks,
    Leor
    Monday, March 16, 2009 9:24 PM
  • This pre-release issue was resolved prior to shipping. Closing this thread.
    Friday, February 4, 2011 10:18 PM
    Moderator
  • Changed the WCF service to just run as local system account instead of specifying it in the service panel.
    Sunday, November 10, 2019 6:17 PM