@@ -24,30 +24,30 @@ public class NetStandardPclExport : PclExport
2424
2525 static string [ ] allDateTimeFormats = new string [ ]
2626 {
27- "yyyy-MM-ddTHH:mm:ss.FFFFFFFzzzzzz" ,
28- "yyyy-MM-ddTHH:mm:ss.FFFFFFF" ,
29- "yyyy-MM-ddTHH:mm:ss.FFFFFFFZ" ,
30- "HH:mm:ss.FFFFFFF" ,
31- "HH:mm:ss.FFFFFFFZ" ,
32- "HH:mm:ss.FFFFFFFzzzzzz" ,
33- "yyyy-MM-dd" ,
34- "yyyy-MM-ddZ" ,
35- "yyyy-MM-ddzzzzzz" ,
36- "yyyy-MM" ,
37- "yyyy-MMZ" ,
38- "yyyy-MMzzzzzz" ,
39- "yyyy" ,
40- "yyyyZ" ,
41- "yyyyzzzzzz" ,
42- "--MM-dd" ,
43- "--MM-ddZ" ,
44- "--MM-ddzzzzzz" ,
45- "---dd" ,
46- "---ddZ" ,
47- "---ddzzzzzz" ,
48- "--MM--" ,
49- "--MM--Z" ,
50- "--MM--zzzzzz" ,
27+ "yyyy-MM-ddTHH:mm:ss.FFFFFFFzzzzzz" ,
28+ "yyyy-MM-ddTHH:mm:ss.FFFFFFF" ,
29+ "yyyy-MM-ddTHH:mm:ss.FFFFFFFZ" ,
30+ "HH:mm:ss.FFFFFFF" ,
31+ "HH:mm:ss.FFFFFFFZ" ,
32+ "HH:mm:ss.FFFFFFFzzzzzz" ,
33+ "yyyy-MM-dd" ,
34+ "yyyy-MM-ddZ" ,
35+ "yyyy-MM-ddzzzzzz" ,
36+ "yyyy-MM" ,
37+ "yyyy-MMZ" ,
38+ "yyyy-MMzzzzzz" ,
39+ "yyyy" ,
40+ "yyyyZ" ,
41+ "yyyyzzzzzz" ,
42+ "--MM-dd" ,
43+ "--MM-ddZ" ,
44+ "--MM-ddzzzzzz" ,
45+ "---dd" ,
46+ "---ddZ" ,
47+ "---ddzzzzzz" ,
48+ "--MM--" ,
49+ "--MM--Z" ,
50+ "--MM--zzzzzz" ,
5151 } ;
5252
5353 public NetStandardPclExport ( )
@@ -176,6 +176,26 @@ public static StringCollection ToStringCollection(List<string> items)
176176 }
177177#endif
178178
179+ public string BinPath = null ;
180+
181+ public override string MapAbsolutePath ( string relativePath , string appendPartialPathModifier )
182+ {
183+ if ( BinPath == null )
184+ {
185+ var dll = typeof ( PclExport ) . GetAssembly ( ) ;
186+ var pi = dll . GetType ( ) . GetProperty ( "CodeBase" ) ;
187+ var codeBase = pi ? . GetProperty ( dll ) . ToString ( ) ;
188+ if ( codeBase == null )
189+ throw new Exception ( "NetStandardPclExport.BinPath must be initialized" ) ;
190+
191+ BinPath = Path . GetDirectoryName ( codeBase . Replace ( "file:///" , "" ) ) ;
192+ }
193+
194+ return relativePath . StartsWith ( "~" )
195+ ? relativePath . Replace ( "~" , BinPath )
196+ : relativePath ;
197+ }
198+
179199 public override Type UseType ( Type type )
180200 {
181201 if ( type . IsInterface ( ) || type . IsAbstract ( ) )
@@ -185,7 +205,6 @@ public override Type UseType(Type type)
185205 return type ;
186206 }
187207
188-
189208 public override ParseStringDelegate GetJsReaderParseMethod < TSerializer > ( Type type )
190209 {
191210 if ( type . AssignableFrom ( typeof ( System . Dynamic . IDynamicMetaObjectProvider ) ) ||
0 commit comments