locked
Manifest Loader Failed. RRS feed

  • Question

  •  I've been working on converting some code from MSRS 1.0 to 1.5. With help of others from another thread I have been able to get the code compiled. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1838632&SiteID=1

     

    When I try to run it gives the following error message:

     

    Code Snippet

    C:\RStudio15\bin\DssHost.exe -port:50000 -tcpport:50001 -manifest:"samples\vex_beta3\VEX\VEX.manifest.xml"


    *   Service uri:  [07/10/2007 22:46:05][http://gtdev:50000/directory]
    *   Service uri:  [07/10/2007 22:46:05][http://gtdev:50000/constructor/a4ff42d8-6581-45a8-92af-20e07f1930d5]
    *   Starting manifest load: file:///C:/RStudio15/samples/vex_beta3/VEX/VEX.manifest.xml [07/10/2007 22:46:07][http://gtdev:50000/manifestloaderclient]
    **  Error creating service.Fault Subcode:DuplicateEntry. Service type:http://schemas.vexrobotics.com/2006/12/vex.html [07/10/2007 22:46:12][http://gtdev:50000/constructor/a4ff42d8-6581-45a8-92af-20e07f1930d5]
    *** Manifest Loader: Creating service failed: http://schemas.vexrobotics.com/2006/12/vex.html.
    Reason: dssp.tcp://gtdev:50001/vex [07/10/2007 22:46:12][http://gtdev:50000/manifestloader/b81ee9df-af49-4f15-85ee-d12030fc3a9c]
    *   Manifest load complete [07/10/2007 22:46:12][http://gtdev:50000/manifestloaderclient]

     

    Is this a problem with a GUID being carried over from the 1.0 versions? I tried deleting all the generated program files from the bin and bin/services directories. Any ideas why this is not running?

     

    Vince Thompson

     

     

    Wednesday, July 11, 2007 4:15 AM

Answers

  • Is it possible that you have an older assembly, or a derivative with the same Dss contract "http://schemas.vexrobotics.com/2006/12/vex.html"?

     

    To find out, open an MSRS Command Prompt and type the following:

    Code Snippet

     

    cd bin

    dssinfo -v:m *.proxy.dll

      

    Browse through the results and search for the contract mentioned above.  If you find it twice, the output will identify which assemblies are publishing the same contract.

     

    Example output:

     

    Code Snippet

    Reflecting:   LegoNxt.Y2006.M05.proxy.dll

       Service:   LegoNxtService
    DssContract:  
    http://schemas.microsoft.com/robotics/2006/05/legonxt.html
      Namespace:   Microsoft.Robotics.Services.LegoNxt

     

    If that doesn't solve it, the next step will be to look at your manifest.

    Wednesday, July 11, 2007 5:16 AM
  • You should be referring to an operation defined by your VEX service.

    From a different post, I think this might be "SelectiveSubscribe" on the VEX, rather than "ReliableSubscribe".  Do you have a copy of the original source before you started to modify it?

     

    David

    Wednesday, July 11, 2007 2:46 PM

All replies

  • Is it possible that you have an older assembly, or a derivative with the same Dss contract "http://schemas.vexrobotics.com/2006/12/vex.html"?

     

    To find out, open an MSRS Command Prompt and type the following:

    Code Snippet

     

    cd bin

    dssinfo -v:m *.proxy.dll

      

    Browse through the results and search for the contract mentioned above.  If you find it twice, the output will identify which assemblies are publishing the same contract.

     

    Example output:

     

    Code Snippet

    Reflecting:   LegoNxt.Y2006.M05.proxy.dll

       Service:   LegoNxtService
    DssContract:  
    http://schemas.microsoft.com/robotics/2006/05/legonxt.html
      Namespace:   Microsoft.Robotics.Services.LegoNxt

     

    If that doesn't solve it, the next step will be to look at your manifest.

    Wednesday, July 11, 2007 5:16 AM
  •  Dave Lee wrote:

     

    Code Snippet

     

    cd bin

    dsshost -v:m *.proxy.dll

     

    When I enter your dsshost command I'm getting:

     

    C:\RStudio15>dsshost -v:m *.proxy.dll

    'm' is not a valid value for the 'verbosity' command line option
    Unrecognized command line argument '*.proxy.dll'
    Missing required argument '/port'.

    Wednesday, July 11, 2007 5:34 AM
  • Oops! 

    That should have been:

     

    Code Snippet

    dssinfo -v:m *.proxy.dll

     

     I've updated my earlier post.  Thanks

    Wednesday, July 11, 2007 5:51 AM
  • The DssInfo worked. The lines that looked like a problem were:

     

    Code Snippet
    Reflecting:                     VEX.Y2006.M12.Proxy.dll                       
    *** Invalid operation found on port:Microsoft.Dss.ServiceModel.Dssp.ReliableSubscribeRequestType
    *** Invalid operation found on port:Microsoft.Dss.ServiceModel.Dssp.ReliableSubscribeRequestType

     

    I did a search of my hard drive and found several occurences of VEX.Y2006.M12.Proxy.dll in different folders from previous versions of the program (using MSRS 1.0).

     

    I opened the C# project and selected add references to look at the list and it shows the location I would expect:

    VEX.Y2006.M12.Proxy        0.0.0.0        v2.0.50727    C:\RStudio15\bin\VEX.Y2006.M12.Proxy.dll

     

    The ReliableSubscribe was a problem that showed up earlier after using the DSS Project Migration Tool but the program compiled after reversing the Subscribe and ReliableSubscribe statements as described in the thread:

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1838632&SiteID=1

     

    I found code using ReliableSubscribeRequestType in the following code:

     

    Code Snippet

    /// <summary>

    /// VEX Operations public port definition

    /// </summary>

    [ServicePort]

    public class VEXOperations : PortSet<

    DsspDefaultLookup,

    DsspDefaultDrop,

    Get,

    HttpGet,

    HttpPost,

    Configure,

    ReliableSubscribeRequestType,

    SelectiveSubscribe, //IMPORTANT: Because SelectiveSubscribe inherits from Subscribe, it needs to go on top.

    Subscribe,

    UpdateStatus, // Notification only

    ConfigureRequest,

    SetAllMotorsRequest,

    SetMotorRequest,

    SetAllPortsRequest,

    SetOutputPortRequest,

    VEXReturnStatusRequest,

    SendVEXCommand

    > // IMPORTANT: All other "SendVEX..." commands inherit from SendVEXCommand and must be listed first.

    {

    }

     


     

     

    Vince

     

    Wednesday, July 11, 2007 6:44 AM
  • It looks like ReliableSubscribeRequestType is not an operation type, but instead the request portion of the ReliableSubscribe operation type.

    Try changing the code to:

     

    Code Snippet

    /// <summary>

    /// VEX Operations public port definition

    /// </summary>

    [ServicePort]

    public class VEXOperations : PortSet<

    DsspDefaultLookup,

    DsspDefaultDrop,

    Get,

    HttpGet,

    HttpPost,

    Configure,

    ReliableSubscribe,

    SelectiveSubscribe, //IMPORTANT: Because SelectiveSubscribe inherits from Subscribe, it needs to go on top.

    Subscribe,

    UpdateStatus, // Notification only

    ConfigureRequest,

    SetAllMotorsRequest,

    SetMotorRequest,

    SetAllPortsRequest,

    SetOutputPortRequest,

    VEXReturnStatusRequest,

    SendVEXCommand

    > // IMPORTANT: All other "SendVEX..." commands inherit from SendVEXCommand and must be listed first.

    {

    }

     

    Wednesday, July 11, 2007 6:51 AM
  • If I change to ReliableSubscribe I'm getting an error.

     

    Code Snippet

    Build FAILED.
    VexTypes.cs(43,9): error CS0246: The type or namespace name 'ReliableSubscribe'
    could not be found (are you missing a using directive or an assembly reference?)

        0 Warning(s)
        1 Error(s)

     

    I tried adding the using statement in my program 

    Code Snippet

    using Microsoft.Ccr.Core.IPort;

     

    which caused the error:

    Code Snippet
    Error 1 The type or namespace name 'ReliableSubscribe' could not be found (are you missing a using directive or an assembly reference?) 

     

    So I tried to add a reference but I'm not finding the Microsoft.Ccr... components in the list. 

     

    Vince
    Wednesday, July 11, 2007 7:13 AM
  • You should be referring to an operation defined by your VEX service.

    From a different post, I think this might be "SelectiveSubscribe" on the VEX, rather than "ReliableSubscribe".  Do you have a copy of the original source before you started to modify it?

     

    David

    Wednesday, July 11, 2007 2:46 PM
  •  Dave Lee wrote:

    You should be referring to an operation defined by your VEX service.

    From a different post, I think this might be "SelectiveSubscribe" on the VEX, rather than "ReliableSubscribe".  Do you have a copy of the original source before you started to modify it?

    David

     

    I'm using the latest code from the following web site

     http://www.codeplex.com/VexMsrs/SourceControl/ListDownloadableCommits.aspx for the Vex Robot. I understand this code was originally based on the Lego NXT source.

     

    I see where ReliableSubscribe is used by VEXContactSensor, VEXDrive, VEXEncoder, VEXLightSensor, and  VEXSoar.

    Wednesday, July 11, 2007 5:09 PM
  • I started from a fresh copy of the Vex1.0 version code, ran the dss migration program, switched the Subscribe statements and the new program seems to be working.
    Wednesday, July 11, 2007 5:24 PM
  • im using mrs(1.5)refresh. i got a problem about manifest loader service, which is:

    creating service failed:http://schemas.microsoft.com/robotics/2006/01/simpledashboard.html.
    Reason: System.Reflection.TargetInvocationException: Exception has been thrown by the target of invocation.------> System.IO.FileLoadException:Could not load file ao assembly 'SickLRF.Y2005.M12.Proxy,Version .............


    due to this, i could not run simulation using dashboard. so, my robot cannot move

    can u look after for me...
    Tuesday, March 31, 2009 4:46 PM