0
votes

I am facing issues when trying to publish a Cloud Service project which has two copies of the same worker role project. Basically my worker role project is a job processor watching a service bus queue. I intend to differentiate the instances by having different queue names in the configuration of each worker role. I am facing issues when trying to deploy this to Azure. This works perfectly in local emulator. Error received when deploying to azure:

The file provided is not a valid service package. Detailed error code: <role name 2> Invalid application runtime - a runtime component is missing:/base/x64/WaIISHost.exe,<role name 3> Invalid application runtime - a runtime component is missing:/base/x64/WaIISHost.exe. The long running operation tracking ID was: 89d809995b20a74a924ae69f8d8a5106.

It is also really weird that this works with Azure SDK 2.4 but not with 2.7+. And also it works always in one subscription but not in couple of others. Really puzzled here.

1

1 Answers

1
votes

Visual Studio indeed won't let you re-add a second instance of worker role to the same cloud service.

However, what you can do it to extract your role implementation into a separate library and define two worker roles that will embed/inherit this logic. Then you'll be able to add the new worker roles containing the same logic to the single cloud service.

BTW, another option that you might want to consider is to keep a single worker but define 2 deployments (cloud services) for hosting it. The advantage of this approach is that you'll have better flexibility when you need to change configuration or scale only one of your services.