Cryptic TypeLoadException if actor proxy interface is non-public
- Dominant language
- C#
- Stars
- 1.2k
- Forks
- 378
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 5
Description
Consider the following code snippet:
```csharp
ActorId actorId = new("123");
IMyActor proxy = ActorProxy.Create(actorId, nameof(MyActor));
// The Init method invokes the actor directly, which then decides whether to apply de-dupe logic.
await proxy.MyMethod();
```
Also, assume `IMyActor` is an internal interface (non-public).
## Expected Behavior
Internal interfaces should be supported, OR there should be a friendly exception explaining why my interface is invalid.
## Actual Behavior
If `IMyActor` is internal, I get the following cryptic exception:
> System.TypeLoadException: Type 'MyNamespace.IMyActor_.actorV1.proxyIMyActoractorV1Proxy' from assembly 'MyNamespace.IMyActor_.actorV1.proxy, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is attempting to implement an inaccessible interface.
It's not at all clear what needs to be done to fix this issue.
Contributor guide
Assessment
This issue has not been assessed yet.