@@ -70,13 +70,13 @@ static public void Execute(object instance, string mthd, Object[] args)
7070 }
7171 }
7272 static ConcurrentDictionary < string , Type > loadedAssemblies = new ConcurrentDictionary < string , Type > ( ) ;
73- static public Type FindType ( string defaultAssemblyName , string clss , Assembly defaultAssembly , bool ignoreCase = false )
73+ static public Type FindType ( string defaultAssemblyName , string clss , Assembly defaultAssembly , bool ignoreCase = false , bool ignoreError = false )
7474 {
75- return FindType ( defaultAssemblyName , string . Empty , clss , defaultAssembly , ignoreCase ) ;
75+ return FindType ( defaultAssemblyName , string . Empty , clss , defaultAssembly , ignoreCase , ignoreError ) ;
7676 }
7777 //ns = kb Namespace
7878 //clssWithoutNamespace = fullname genexus object (includes module), p.e. genexus.sd.synchronization.offlineeventreplicator
79- static public Type FindType ( string defaultAssemblyName , string ns , string clssWithoutNamespace , Assembly defaultAssembly , bool ignoreCase = false )
79+ static public Type FindType ( string defaultAssemblyName , string ns , string clssWithoutNamespace , Assembly defaultAssembly , bool ignoreCase = false , bool ignoreError = false )
8080 {
8181
8282 string clss = string . IsNullOrEmpty ( ns ) ? clssWithoutNamespace : string . Format ( "{0}.{1}" , ns , clssWithoutNamespace ) ;
@@ -143,7 +143,7 @@ static public Type FindType(string defaultAssemblyName, string ns, string clssWi
143143 {
144144 if ( ns != appNS )
145145 {
146- return FindType ( defaultAssemblyName , appNS , clssWithoutNamespace , defaultAssembly ) ;
146+ return FindType ( defaultAssemblyName , appNS , clssWithoutNamespace , defaultAssembly , ignoreCase , ignoreError ) ;
147147 }
148148 }
149149 if ( objType == null )
@@ -168,7 +168,7 @@ static public Type FindType(string defaultAssemblyName, string ns, string clssWi
168168 defaultAssemblyName = parts [ 1 ] ;
169169 clss = parts [ 0 ] ;
170170 }
171- return FindType ( defaultAssemblyName , string . Empty , clss , defaultAssembly ) ;
171+ return FindType ( defaultAssemblyName , string . Empty , clss , defaultAssembly , ignoreCase , ignoreError ) ;
172172 }
173173 }
174174
@@ -207,8 +207,13 @@ static public Type FindType(string defaultAssemblyName, string ns, string clssWi
207207 }
208208 if ( objType == null )
209209 {
210- GXLogging . Error ( log , "Failed to load type: " + clss + " from currentdomain" ) ;
211- throw new GxClassLoaderException ( "Failed to load type: " + clss ) ;
210+ if ( ignoreError )
211+ GXLogging . Warn ( log , "Failed to load type: " + clss + " from currentdomain" ) ;
212+ else
213+ {
214+ GXLogging . Error ( log , "Failed to load type: " + clss + " from currentdomain" ) ;
215+ throw new GxClassLoaderException ( "Failed to load type: " + clss ) ;
216+ }
212217 }
213218 return objType ;
214219
0 commit comments