Friday, April 01, 2011 4:40 PM
I'm trying to run my test SOA service on the HPC cluster with Azure work nodes, and the service dynamically loads another assembly at runtime. It runs fine locally for me if I run on just the head node, but the Azure nodes are giving me an exception when I try to load that assembly. The dreaded (for me) message:
The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.
I don't THINK I can log in to this Azure worker node, so how can I see the event log to get the details I need?
Monday, April 04, 2011 8:08 AM
Can you try to run the SOA service loading diagnostic tests (with the default ccpechosvc and your service) on Azure node?
Also, when you say you try to load the assembly, where and how did you put the binary on Azure?
Monday, April 04, 2011 2:26 PM
The SOA diagnostic passes for both the default and my service. If I remove the calls from my service that load the additional assembly (which does the real work) my service runs on the Azure node. So it finds the service dll. And I have some debug output to tell me if it can find my additional assembly before I try to load it, which it can. But when it tries to load the assembly it gives me:
Could not load file or assembly 'workerGuy, Version=1.0.4111.16665, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail. (Exception from HRESULT: 0x800736B1)
And I don't know how to 'see the application event log'. I package up the service dll, additional dlls, and some misc data files using the hpcpack tools. Upload it to my Azure node template nodes, and then run "clusrun /nodegroup:AzureWorkerNodes hpcsync" to ensure it's updated.
Wednesday, April 06, 2011 7:58 PM
After quite a bit of fumbling around I found my issue. The project was I inherited was built against Debug crt dlls, and I guess those aren't installed by default which makes sense. I was also missing some of the 7.1 crt libraries anyways which I kind of assumed would be there, but that one gave me a slightly more helpful message.
But I'm curious how you could get the error details from the Event Viewer. There has to be a way to solve the error besides fumbling in the dark. If it can't be done yet than hopefully that can be supported in some fashion in an upcoming release.
Wednesday, May 04, 2011 2:21 PM
I've learned how to enable remoting into Azure when you setup Azure roles (outside of HPC) yourself. I believe I could do the same (at least just for debugging, after HPC creates the Azure instances) for an HPC Azure node but I have to edit the service configuration and service defnition files. I can edit the Azure node's service configuration from the Azure portal after the Azure node is created. But I still don't see any way to edit the csdef file used by HPC to create the Azure node.
I have found a bunch of cspkg files in the HPC bin directory, which look like the template files that HPC uses to create the Azure instances. But I don't believe I can edit that file. I'd have to edit a .csdef file that is used to create the cspkg file. But it doesn't look like Microsoft has included the csdef files. Is there anyway to get the csdef file so I can add the remoting ability? Or is there anyway to edit the cspkg file directly?
Friday, January 20, 2012 8:46 AMI am not sure if you solve the problem yet. I think VS 2010 could see the csdef and cscfg when your Azure project create.
Ken Hui Application Developer