[
https://issues.apache.org/jira/browse/AVRO-1981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16782116#comment-16782116
]
Hudson commented on AVRO-1981:
------------------------------
SUCCESS: Integrated in Jenkins build AvroJava #609 (See
[https://builds.apache.org/job/AvroJava/609/])
AVRO-1981: Catch exceptions loading types from assemblies in C# (dan:
[https://github.com/apache/avro/commit/846a9a1bb85e9832b696970c96e6089d43c3ee6b])
* (edit) lang/csharp/src/apache/main/Specific/ObjectCreator.cs
> ReflectionTypeLoadException
> ---------------------------
>
> Key: AVRO-1981
> URL: https://issues.apache.org/jira/browse/AVRO-1981
> Project: Apache Avro
> Issue Type: Bug
> Components: csharp
> Affects Versions: 1.8.2
> Reporter: Josh Steward
> Assignee: Brian Lachniet
> Priority: Minor
> Fix For: 1.9.0
>
>
> In the ObjectCreator the call to FindType(name, throwError) can throw a
> ReflectionTypeLoadException during the call to assembly.GetTypes() if any of
> the types are not able to load, MSDN link below for ref. This effectively
> kills the entire deserialization process. I put in a simple workaround to
> just continue if this happens. In my particular case it was trying to load
> types from a devexpress test runner dll.
> https://msdn.microsoft.com/en-us/library/system.reflection.assembly.gettypes(v=vs.110).aspx
> private Type FindType(string name,bool throwError)
> {
> //other code
> foreach (Assembly assembly in assemblies)
> {
> // Fix for Mono 3.0.10
> if (assembly.FullName.StartsWith("MonoDevelop.NUnit"))
> continue;
> /*Added catch in case assembly contains unloadable
> types*/
> try
> {
> types = assembly.GetTypes();
> }
> catch (ReflectionTypeLoadException ex)
> {
> continue;
> }
> //other code
> }
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)