0

Started using the awesome DDay.iCal lib and right as I wanted to release my app I ran into the following compatibility issues (after running the standard certification tool)

•Error Found: The supported APIs test detected the following errors:◦API System.Text.UTF7Encoding in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Comparer in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ICloneable in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.TransitionTime in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.AdjustmentRule in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Diagnostics.Trace in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.IO.FileStream in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Net.WebProxy in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Runtime.Serialization.FormatterServices in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Net.WebClient in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ComponentModel.EventHandlerList in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Console in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Threading.ThreadInterruptedException in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ApplicationException in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.SystemException in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.AppDomain in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Specialized.NameValueCollection in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.IHashCodeProvider in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.IO.FileMode in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.IO.FileAccess in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Runtime.Serialization.StreamingContextStates in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Text.UTF7Encoding.#ctor in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Text.Encoding.GetString(System.Byte[]) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.IO.TextReader.Close in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.String.Format(System.String,System.Object,System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.String.Format(System.String,System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Comparer.Default in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.#ctor(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ICloneable.Clone in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.DateTime.ToShortDateString in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.TransitionTime.get_Month in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.TransitionTime.get_TimeOfDay in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.TransitionTime.get_IsFixedDateRule in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.TransitionTime.get_Day in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.TransitionTime.get_Week in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.TransitionTime.get_DayOfWeek in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.GetAdjustmentRules in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.get_Id in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.AdjustmentRule.get_DateEnd in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.AdjustmentRule.get_DaylightDelta in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.AdjustmentRule.get_DateStart in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.AdjustmentRule.get_DaylightTransitionEnd in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.TimeZoneInfo.AdjustmentRule.get_DaylightTransitionStart in SYSTEM.CORE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Diagnostics.Trace.TraceInformation(System.String,System.Object[]) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.IO.FileStream.#ctor(System.String,System.IO.FileMode,System.IO.FileAccess) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.IO.Stream.Close in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Runtime.Serialization.FormatterServices.GetUninitializedObject(System.Type) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Runtime.Serialization.StreamingContext.#ctor(System.Runtime.Serialization.StreamingContextStates) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.IO.FileStream.#ctor(System.String,System.IO.FileMode) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Net.WebClient.#ctor in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Net.WebClient.set_Credentials(System.Net.ICredentials) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Net.WebClient.DownloadData(System.Uri) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.String.Format(System.String,System.Object,System.Object,System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.Add(System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.#ctor(System.Int32) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.GetEnumerator in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.String.Copy(System.String) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.#ctor in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.get_Count in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.CopyTo(System.Array,System.Int32) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.get_Item(System.Int32) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.Clear in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.RemoveRange(System.Int32,System.Int32) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ComponentModel.EventHandlerList.#ctor in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ComponentModel.EventHandlerList.AddHandler(System.Object,System.Delegate) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ComponentModel.EventHandlerList.RemoveHandler(System.Object,System.Delegate) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Console.get_Error in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.get_Item(System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Console.get_Out in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ApplicationException.#ctor in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.#ctor in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.set_Item(System.Object,System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.ComponentModel.EventHandlerList.get_Item(System.Object) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.get_SyncRoot in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.Clone in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.GetEnumerator in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.Remove(System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.SystemException.#ctor(System.String) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.GetRange(System.Int32,System.Int32) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.BinarySearch(System.Object,System.Collections.IComparer) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.Insert(System.Int32,System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Hashtable.#ctor(System.Int32,System.Single) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.AppDomain.get_CurrentDomain in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.AppDomain.GetAssemblies in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.Clone in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.Contains(System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.ArrayList.Remove(System.Object) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Type.GetType in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.String.Compare(System.String,System.String,System.Boolean) in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Specialized.NameValueCollection.get_AllKeys in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.
◦API System.Collections.Specialized.NameValueCollection.get_Item(System.String) in SYSTEM, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. DDay.iCal.dll calls this API.

I've since checked out the dday code on GIT and I'm trying to see if I can yank out the incompatible API's. Anyone have any luck with using DDay on WinRT applications in the past? Or any suggestions on how to typically get past these silly API restrictions?

nico van vuuren
  • 105
  • 1
  • 8

1 Answers1

0

You'll have to remove all illegal references for Windows Runtime and find a supported equivalent, then recompile the library. This can be pretty cumbersome.

An alternative would be to put the logic that uses this library in a web service and call this service.

CodeCaster
  • 147,647
  • 23
  • 218
  • 272
  • That much is clear yes, I'm trying to do that at the moment, but as you can imagine it's not easy altering a third party library and finding alternatives for each incompatible type. I was just wondering if anyone out there have worked with DDay on WinRT before, it seems a common enough library. – nico van vuuren Oct 05 '15 at 14:27
  • 1
    I guess people got tired of creating a BCL, PCL and Silverlight version of their class libraries and never managed to after all that effort create yet another version to also support WinRT, and I can relate to that. There's very few popular libraries that also have a WinRT compatible version. – CodeCaster Oct 05 '15 at 14:29