Description
In the Invoke Activity, the runtime actually generated a scope around that Invoke. The problem is that if users create a scope, and then having the Invoke's name, which inside that scope, as same as the scope name, it will have unexpected issues, as the scope's name should be unique. For example, if I defined a scope variable in the scope, it has been initialised, but it will throw the 'variable not been initialized properly' error.
Following is two approaches for this issue:
1) updating the compiler's validation rule to enforce that the scope's and the Invoke activity's name should stay unique. This approach has least impact with current codebase.
2) adding the 'Invoke' string to those scopes name, which were generated in Invoke activity. In another word, the scope's name for those Invoke activity would be like 'InvokeCallingExternalService', whose invoke name is 'CallingExternalService'.