{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/orleans/issues/1865","repository_url":"https://api.github.com/repos/dotnet/orleans","labels_url":"https://api.github.com/repos/dotnet/orleans/issues/1865/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/orleans/issues/1865/comments","events_url":"https://api.github.com/repos/dotnet/orleans/issues/1865/events","html_url":"https://github.com/dotnet/orleans/issues/1865","id":161364633,"number":1865,"title":"[question] Exception deserialization","user":{"login":"peter-perot","id":15671569,"avatar_url":"https://avatars.githubusercontent.com/u/15671569?v=3","gravatar_id":"","url":"https://api.github.com/users/peter-perot","html_url":"https://github.com/peter-perot","followers_url":"https://api.github.com/users/peter-perot/followers","following_url":"https://api.github.com/users/peter-perot/following{/other_user}","gists_url":"https://api.github.com/users/peter-perot/gists{/gist_id}","starred_url":"https://api.github.com/users/peter-perot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peter-perot/subscriptions","organizations_url":"https://api.github.com/users/peter-perot/orgs","repos_url":"https://api.github.com/users/peter-perot/repos","events_url":"https://api.github.com/users/peter-perot/events{/privacy}","received_events_url":"https://api.github.com/users/peter-perot/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/orleans/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":16,"created_at":"2016-06-21T07:14:03Z","updated_at":"2016-07-22T00:44:19Z","closed_at":null,"body":"Lately I got a strange exception in my logs that read `TypeLoadException: Could not find EntityFramework.dll.`\r\n\r\nAfter some investigation it turned out that my data access layer (which is referenced by my Orleans server-side code) issued an EntityException which bubbled up to Orleans, travelled over the wire, but on the client it could not be deserialized since the client does not (and should not) reference EntityFramework.\r\n\r\nI'm not interested in the concrete exception type – simply want to log the *unknown* exception with ex.ToString() **on my client**.\r\n\r\nWhat is the best way to accomplish this? I don't want to repackage each possible exception into a \"client-side readable\" well-known exception in (server-side) grain code like this:\r\n\r\n````csharp\r\ntry\r\n{\r\n  // ...\r\n} catch (Exception e)\r\n{\r\n  // send a client-side known exception over the wire\r\n  throw new ClientSideKnownException(e.ToString());\r\n}\r\n````\r\n\r\nAny suggestion how to handle this?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/orleans/issues/comments/234425443","html_url":"https://github.com/dotnet/orleans/issues/1865#issuecomment-234425443","issue_url":"https://api.github.com/repos/dotnet/orleans/issues/1865","id":234425443,"user":{"login":"peter-perot","id":15671569,"avatar_url":"https://avatars.githubusercontent.com/u/15671569?v=3","gravatar_id":"","url":"https://api.github.com/users/peter-perot","html_url":"https://github.com/peter-perot","followers_url":"https://api.github.com/users/peter-perot/followers","following_url":"https://api.github.com/users/peter-perot/following{/other_user}","gists_url":"https://api.github.com/users/peter-perot/gists{/gist_id}","starred_url":"https://api.github.com/users/peter-perot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peter-perot/subscriptions","organizations_url":"https://api.github.com/users/peter-perot/orgs","repos_url":"https://api.github.com/users/peter-perot/repos","events_url":"https://api.github.com/users/peter-perot/events{/privacy}","received_events_url":"https://api.github.com/users/peter-perot/received_events","type":"User","site_admin":false},"created_at":"2016-07-22T00:44:19Z","updated_at":"2016-07-22T00:44:19Z","body":"What is strange here: The code never runs into the `Deserialize` method."}}
{"actor":{"display_login":"peter-perot"}}