diff --git a/.gitignore b/.gitignore index 0b8df13..2780560 100644 --- a/.gitignore +++ b/.gitignore @@ -165,4 +165,5 @@ $RECYCLE.BIN/ # ========================= PocketSharp.Console/ -!PocketSharp.Website/Release/ \ No newline at end of file +PocketSharp.WpfTests/ +!PocketSharp.Website/Release/ diff --git a/PocketSharp.Tests/UnitTest1.cs b/PocketSharp.Tests/UnitTest1.cs index 24518ac..b4dc156 100644 --- a/PocketSharp.Tests/UnitTest1.cs +++ b/PocketSharp.Tests/UnitTest1.cs @@ -8,19 +8,9 @@ namespace PocketSharp.Tests public class UnitTest1 { [TestMethod] - public async Task TestMethod1() + public void TestMethod1() { - var tcs = new TaskCompletionSource(); - PocketClient client = new PocketClient( - consumerKey: "15396-f6f92101d72c8e270a6c9bb3", - callbackUri: "http://frontendplay.com", - accessCode: "206d5286-230d-b3e2-48c6-fabf89" - ); - - var items = await client.Retrieve(RetrieveFilter.Archive); - - Assert.AreEqual(10, items.Capacity); } } } diff --git a/PocketSharp.sln b/PocketSharp.sln index 4f420d6..f49bca5 100644 --- a/PocketSharp.sln +++ b/PocketSharp.sln @@ -1,24 +1,32 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PocketSharp", "PocketSharp\PocketSharp.csproj", "{1A291041-ADD8-467C-A6E4-0ACA26328CDF}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PocketSharp.Tests", "PocketSharp.Tests\PocketSharp.Tests.csproj", "{F1CEA363-7039-40BA-9744-0071F46BB90C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PocketSharp", "PocketSharp\PocketSharp.csproj", "{817200C3-A327-4E35-9B5F-63A51C088577}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PocketSharp.WpfTests", "PocketSharp.WpfTests\PocketSharp.WpfTests.csproj", "{775569C2-987F-4AC4-8BA5-A315A21ED1B7}" + ProjectSection(ProjectDependencies) = postProject + {817200C3-A327-4E35-9B5F-63A51C088577} = {817200C3-A327-4E35-9B5F-63A51C088577} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1A291041-ADD8-467C-A6E4-0ACA26328CDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A291041-ADD8-467C-A6E4-0ACA26328CDF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A291041-ADD8-467C-A6E4-0ACA26328CDF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A291041-ADD8-467C-A6E4-0ACA26328CDF}.Release|Any CPU.Build.0 = Release|Any CPU {F1CEA363-7039-40BA-9744-0071F46BB90C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F1CEA363-7039-40BA-9744-0071F46BB90C}.Debug|Any CPU.Build.0 = Debug|Any CPU {F1CEA363-7039-40BA-9744-0071F46BB90C}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1CEA363-7039-40BA-9744-0071F46BB90C}.Release|Any CPU.Build.0 = Release|Any CPU + {817200C3-A327-4E35-9B5F-63A51C088577}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {817200C3-A327-4E35-9B5F-63A51C088577}.Debug|Any CPU.Build.0 = Debug|Any CPU + {817200C3-A327-4E35-9B5F-63A51C088577}.Release|Any CPU.ActiveCfg = Release|Any CPU + {817200C3-A327-4E35-9B5F-63A51C088577}.Release|Any CPU.Build.0 = Release|Any CPU + {775569C2-987F-4AC4-8BA5-A315A21ED1B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {775569C2-987F-4AC4-8BA5-A315A21ED1B7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {775569C2-987F-4AC4-8BA5-A315A21ED1B7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {775569C2-987F-4AC4-8BA5-A315A21ED1B7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PocketSharp/JsonExtensions.cs b/PocketSharp/JsonExtensions.cs index 6c2a0c9..ece3cef 100644 --- a/PocketSharp/JsonExtensions.cs +++ b/PocketSharp/JsonExtensions.cs @@ -7,32 +7,45 @@ using System.Text; namespace PocketSharp { - //public class UnixDateTimeConverter : DateTimeConverterBase - //{ - // /// - // /// Writes the JSON representation of the object. - // /// - // /// The to write to.The value.The calling serializer. - // //public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) - // //{ - // // DateTime epoc = new DateTime(1970, 1, 1); - // // var delta = (DateTime)value - epoc; - // // writer.WriteValue((long)delta.TotalSeconds); - // //} + public class BoolConverter : JsonConverter + { + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + writer.WriteValue(((bool)value) ? 1 : 0); + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + return reader.Value.ToString() == "1"; + } + + public override bool CanConvert(Type objectType) + { + return objectType == typeof(bool); + } + } - // ///// - // ///// Reads the JSON representation of the object. - // ///// - // ///// The to read from. - // ///// Type of the object. - // ///// The existing value of object being read. - // ///// The calling serializer. - // ///// The object value. - // //public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) - // //{ - // // return existingValue == "0" ? null : new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Convert.ToDouble(existingValue)).ToLocalTime(); - // //} - //} + + public class UnixDateTimeConverter : DateTimeConverterBase + { + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + DateTime epoc = new DateTime(1970, 1, 1); + var delta = (DateTime)value - epoc; + + writer.WriteValue((long)delta.TotalSeconds); + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + if(reader.Value.ToString() == "0") + { + return null; + } + + return new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Convert.ToDouble(reader.Value)).ToLocalTime(); + } + } } diff --git a/PocketSharp/Models/PocketAuthor.cs b/PocketSharp/Models/PocketAuthor.cs index 2d111bc..1a90d27 100644 --- a/PocketSharp/Models/PocketAuthor.cs +++ b/PocketSharp/Models/PocketAuthor.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Runtime.Serialization; namespace PocketSharp.Models @@ -6,7 +7,7 @@ namespace PocketSharp.Models /// /// Author /// - [DataContract] + [JsonObject] public class PocketAuthor { /// @@ -15,7 +16,7 @@ namespace PocketSharp.Models /// /// The ID. /// - [DataMember(Name = "author_id")] + [JsonProperty("author_id")] public string ID { get; set; } /// @@ -24,7 +25,7 @@ namespace PocketSharp.Models /// /// The name. /// - [DataMember] + [JsonProperty] public string Name { get; set; } /// @@ -33,7 +34,7 @@ namespace PocketSharp.Models /// /// The URI. /// - [DataMember(Name = "url")] + [JsonProperty("url")] public Uri Uri { get; set; } } } diff --git a/PocketSharp/Models/PocketImage.cs b/PocketSharp/Models/PocketImage.cs index 8ede582..c5d210f 100644 --- a/PocketSharp/Models/PocketImage.cs +++ b/PocketSharp/Models/PocketImage.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Runtime.Serialization; namespace PocketSharp.Models @@ -6,7 +7,7 @@ namespace PocketSharp.Models /// /// Image /// - [DataContract] + [JsonObject] public class PocketImage { /// @@ -15,7 +16,7 @@ namespace PocketSharp.Models /// /// The ID. /// - [DataMember(Name = "image_id")] + [JsonProperty("image_id")] public string ID { get; set; } /// @@ -24,7 +25,7 @@ namespace PocketSharp.Models /// /// The caption. /// - [DataMember] + [JsonProperty] public string Caption { get; set; } /// @@ -33,7 +34,7 @@ namespace PocketSharp.Models /// /// The credit. /// - [DataMember] + [JsonProperty] public string Credit { get; set; } /// @@ -42,7 +43,7 @@ namespace PocketSharp.Models /// /// The URI. /// - [DataMember(Name = "src")] + [JsonProperty("src")] public Uri Uri { get; set; } } } diff --git a/PocketSharp/Models/PocketItem.cs b/PocketSharp/Models/PocketItem.cs index 40421fa..770abd6 100644 --- a/PocketSharp/Models/PocketItem.cs +++ b/PocketSharp/Models/PocketItem.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.Runtime.Serialization; @@ -8,7 +9,7 @@ namespace PocketSharp.Models /// Item containing all available data /// see: http://getpocket.com/developer/docs/v3/retrieve /// - [DataContract] + [JsonObject] public class PocketItem { /// @@ -17,7 +18,7 @@ namespace PocketSharp.Models /// /// The ID. /// - [DataMember(Name = "item_id")] + [JsonProperty("item_id")] public int ID { get; set; } /// @@ -26,7 +27,7 @@ namespace PocketSharp.Models /// /// The URI. /// - [DataMember(Name = "resolved_url")] + [JsonProperty("resolved_url")] public Uri Uri { get; set; } /// @@ -35,7 +36,7 @@ namespace PocketSharp.Models /// /// The title. /// - [DataMember(Name = "resolved_title")] + [JsonProperty("resolved_title")] public string Title { get; set; } /// @@ -44,7 +45,7 @@ namespace PocketSharp.Models /// /// The full title. /// - [DataMember(Name = "given_title")] + [JsonProperty("given_title")] public string FullTitle { get; set; } /// @@ -53,7 +54,7 @@ namespace PocketSharp.Models /// /// The excerpt. /// - [DataMember] + [JsonProperty] public string Excerpt { get; set; } /// @@ -62,7 +63,7 @@ namespace PocketSharp.Models /// /// The status. /// - [DataMember] + [JsonProperty] public int Status { get; set; } /// @@ -71,7 +72,7 @@ namespace PocketSharp.Models /// /// true if this instance is favorite; otherwise, false. /// - [DataMember(Name = "favorite")] + [JsonProperty("favorite")] public bool IsFavorite { get; set; } /// @@ -80,7 +81,7 @@ namespace PocketSharp.Models /// /// true if this instance is archive; otherwise, false. /// - [IgnoreDataMember] + [JsonIgnore] public bool IsArchive { get { return Status == 1; } } /// @@ -89,7 +90,7 @@ namespace PocketSharp.Models /// /// true if this instance is deleted; otherwise, false. /// - [IgnoreDataMember] + [JsonIgnore] public bool IsDeleted { get { return Status == 2; } } /// @@ -98,7 +99,7 @@ namespace PocketSharp.Models /// /// true if this instance is article; otherwise, false. /// - [DataMember(Name = "is_article")] + [JsonProperty("is_article")] public bool IsArticle { get; set; } /// @@ -107,7 +108,7 @@ namespace PocketSharp.Models /// /// true if this instance has image; otherwise, false. /// - [DataMember(Name = "has_image")] + [JsonProperty("has_image")] public bool HasImage { get; set; } /// @@ -116,7 +117,7 @@ namespace PocketSharp.Models /// /// true if this instance has video; otherwise, false. /// - [DataMember(Name = "has_video")] + [JsonProperty("has_video")] public bool HasVideo { get; set; } /// @@ -125,7 +126,7 @@ namespace PocketSharp.Models /// /// The word count. /// - [DataMember(Name = "word_count")] + [JsonProperty("word_count")] public int WordCount { get; set; } /// @@ -134,7 +135,7 @@ namespace PocketSharp.Models /// /// The sort. /// - [DataMember(Name = "sort_id")] + [JsonProperty("sort_id")] public int Sort { get; set; } @@ -144,7 +145,7 @@ namespace PocketSharp.Models /// /// The add time. /// - [DataMember(Name = "time_added")] + [JsonProperty("time_added")] public DateTime? AddTime { get; set; } /// @@ -153,7 +154,7 @@ namespace PocketSharp.Models /// /// The update time. /// - [DataMember(Name = "time_updated")] + [JsonProperty("time_updated")] public DateTime? UpdateTime { get; set; } /// @@ -162,7 +163,7 @@ namespace PocketSharp.Models /// /// The read time. /// - [DataMember(Name = "time_read")] + [JsonProperty("time_read")] public DateTime? ReadTime { get; set; } /// @@ -171,7 +172,7 @@ namespace PocketSharp.Models /// /// The favorite time. /// - [DataMember(Name = "time_favorited")] + [JsonProperty("time_favorited")] public DateTime? FavoriteTime { get; set; } @@ -181,7 +182,7 @@ namespace PocketSharp.Models /// /// The _ tag dictionary. /// - [DataMember(Name = "tags")] + [JsonProperty("tags")] public Dictionary TagDictionary { get; set; } /// @@ -190,7 +191,7 @@ namespace PocketSharp.Models /// /// The _ image dictionary. /// - [DataMember(Name = "images")] + [JsonProperty("images")] public Dictionary ImageDictionary { get; set; } /// @@ -199,7 +200,7 @@ namespace PocketSharp.Models /// /// The _ video dictionary. /// - [DataMember(Name = "videos")] + [JsonProperty("videos")] public Dictionary VideoDictionary { get; set; } /// @@ -208,7 +209,7 @@ namespace PocketSharp.Models /// /// The _ author dictionary. /// - [DataMember(Name = "authors")] + [JsonProperty("authors")] public Dictionary AuthorDictionary { get; set; } @@ -218,7 +219,7 @@ namespace PocketSharp.Models /// /// The tags. /// - [IgnoreDataMember] + [JsonIgnore] public List Tags { get { return Utilities.DictionaryToList(TagDictionary); } @@ -230,7 +231,7 @@ namespace PocketSharp.Models /// /// The images. /// - [IgnoreDataMember] + [JsonIgnore] public List Images { get { return Utilities.DictionaryToList(ImageDictionary); } @@ -242,7 +243,7 @@ namespace PocketSharp.Models /// /// The lead image. /// - [IgnoreDataMember] + [JsonIgnore] public PocketImage LeadImage { get { return Images != null ? Images[0] : null; } @@ -254,7 +255,7 @@ namespace PocketSharp.Models /// /// The videos. /// - [IgnoreDataMember] + [JsonIgnore] public List Videos { get { return Utilities.DictionaryToList(VideoDictionary); } @@ -266,7 +267,7 @@ namespace PocketSharp.Models /// /// The authors. /// - [IgnoreDataMember] + [JsonIgnore] public List Authors { get { return Utilities.DictionaryToList(AuthorDictionary); } diff --git a/PocketSharp/Models/PocketTag.cs b/PocketSharp/Models/PocketTag.cs index 59d00de..a9ca975 100644 --- a/PocketSharp/Models/PocketTag.cs +++ b/PocketSharp/Models/PocketTag.cs @@ -1,11 +1,12 @@ -using System.Runtime.Serialization; +using Newtonsoft.Json; +using System.Runtime.Serialization; namespace PocketSharp.Models { /// /// Tag /// - [DataContract] + [JsonObject] public class PocketTag { /// @@ -14,7 +15,7 @@ namespace PocketSharp.Models /// /// The name. /// - [DataMember(Name = "tag")] + [JsonProperty("tag")] public string Name { get; set; } } } diff --git a/PocketSharp/Models/PocketVideo.cs b/PocketSharp/Models/PocketVideo.cs index 72901f5..396b64c 100644 --- a/PocketSharp/Models/PocketVideo.cs +++ b/PocketSharp/Models/PocketVideo.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Runtime.Serialization; namespace PocketSharp.Models @@ -6,7 +7,7 @@ namespace PocketSharp.Models /// /// Video /// - [DataContract] + [JsonObject] public class PocketVideo { /// @@ -15,7 +16,7 @@ namespace PocketSharp.Models /// /// The ID. /// - [DataMember(Name = "video_id")] + [JsonProperty("video_id")] public string ID { get; set; } /// @@ -24,7 +25,7 @@ namespace PocketSharp.Models /// /// The external ID. /// - [DataMember(Name = "vid")] + [JsonProperty("vid")] public string ExternalID { get; set; } /// @@ -33,7 +34,7 @@ namespace PocketSharp.Models /// /// The URI. /// - [DataMember(Name = "src")] + [JsonProperty("src")] public Uri Uri { get; set; } } } diff --git a/PocketSharp/Models/Response/AccessCode.cs b/PocketSharp/Models/Response/AccessCode.cs index 874a625..7f052d8 100644 --- a/PocketSharp/Models/Response/AccessCode.cs +++ b/PocketSharp/Models/Response/AccessCode.cs @@ -1,11 +1,12 @@ -using System.Runtime.Serialization; +using Newtonsoft.Json; +using System.Runtime.Serialization; namespace PocketSharp.Models { /// /// Access Code /// - [DataContract] + [JsonObject] internal class AccessCode { /// @@ -14,7 +15,7 @@ namespace PocketSharp.Models /// /// The code. /// - [DataMember(Name = "access_token")] + [JsonProperty("access_token")] public string Code { get; set; } /// @@ -23,7 +24,7 @@ namespace PocketSharp.Models /// /// The username. /// - [DataMember] + [JsonProperty] public string Username { get; set; } } } diff --git a/PocketSharp/Models/Response/Add.cs b/PocketSharp/Models/Response/Add.cs index e83bf8d..362f54a 100644 --- a/PocketSharp/Models/Response/Add.cs +++ b/PocketSharp/Models/Response/Add.cs @@ -1,11 +1,12 @@ -using System.Runtime.Serialization; +using Newtonsoft.Json; +using System.Runtime.Serialization; namespace PocketSharp.Models { /// /// Add Response /// - [DataContract] + [JsonObject] internal class Add : ResponseBase { /// @@ -14,7 +15,7 @@ namespace PocketSharp.Models /// /// The item. /// - [DataMember] + [JsonProperty] public PocketItem Item { get; set; } } } diff --git a/PocketSharp/Models/Response/Modify.cs b/PocketSharp/Models/Response/Modify.cs index f68b7d2..8137d32 100644 --- a/PocketSharp/Models/Response/Modify.cs +++ b/PocketSharp/Models/Response/Modify.cs @@ -1,11 +1,12 @@ -using System.Runtime.Serialization; +using Newtonsoft.Json; +using System.Runtime.Serialization; namespace PocketSharp.Models { /// /// Modify Response /// - [DataContract] + [JsonObject] internal class Modify : ResponseBase { /// @@ -14,7 +15,7 @@ namespace PocketSharp.Models /// /// The action results. /// - [DataMember(Name = "action_results")] + [JsonProperty("action_results")] public bool[] ActionResults { get; set; } } } diff --git a/PocketSharp/Models/Response/RequestCode.cs b/PocketSharp/Models/Response/RequestCode.cs index 5a4d59e..f5b3419 100644 --- a/PocketSharp/Models/Response/RequestCode.cs +++ b/PocketSharp/Models/Response/RequestCode.cs @@ -1,11 +1,12 @@ -using System.Runtime.Serialization; +using Newtonsoft.Json; +using System.Runtime.Serialization; namespace PocketSharp.Models { /// /// Request Code /// - [DataContract] + [JsonObject] internal class RequestCode { /// @@ -14,7 +15,7 @@ namespace PocketSharp.Models /// /// The code. /// - [DataMember] + [JsonProperty] public string Code { get; set; } /// @@ -23,7 +24,7 @@ namespace PocketSharp.Models /// /// The state. /// - [DataMember] + [JsonProperty] public string State { get; set; } } } diff --git a/PocketSharp/Models/Response/ResponseBase.cs b/PocketSharp/Models/Response/ResponseBase.cs index b68e596..51d7fbe 100644 --- a/PocketSharp/Models/Response/ResponseBase.cs +++ b/PocketSharp/Models/Response/ResponseBase.cs @@ -1,11 +1,12 @@ -using System.Runtime.Serialization; +using Newtonsoft.Json; +using System.Runtime.Serialization; namespace PocketSharp.Models { /// /// Base for Responses /// - [DataContract] + [JsonObject] internal class ResponseBase { /// @@ -14,7 +15,7 @@ namespace PocketSharp.Models /// /// true if status is OK; otherwise, false. /// - [DataMember(Name = "status")] + [JsonProperty("status")] public bool Status { get; set; } } } diff --git a/PocketSharp/Models/Response/Retrieve.cs b/PocketSharp/Models/Response/Retrieve.cs index 97530db..90d5b4e 100644 --- a/PocketSharp/Models/Response/Retrieve.cs +++ b/PocketSharp/Models/Response/Retrieve.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using Newtonsoft.Json; +using System.Collections.Generic; using System.Runtime.Serialization; namespace PocketSharp.Models @@ -6,7 +7,7 @@ namespace PocketSharp.Models /// /// Item Response /// - [DataContract] + [JsonObject] internal class Retrieve : ResponseBase { /// @@ -15,7 +16,7 @@ namespace PocketSharp.Models /// /// The complete. /// - [DataMember(Name = "complete")] + [JsonProperty("complete")] public int Complete { get; set; } /// @@ -24,7 +25,7 @@ namespace PocketSharp.Models /// /// The since. /// - [DataMember] + [JsonProperty] public int Since { get; set; } /// @@ -33,7 +34,7 @@ namespace PocketSharp.Models /// /// The _ item dictionary. /// - [DataMember(Name = "list")] + [JsonProperty("list")] public Dictionary ItemDictionary { get; set; } /// @@ -42,7 +43,7 @@ namespace PocketSharp.Models /// /// The items. /// - [IgnoreDataMember] + [JsonIgnore] public List Items { get { return Utilities.DictionaryToList(ItemDictionary); } diff --git a/PocketSharp/PocketClient.cs b/PocketSharp/PocketClient.cs index 193f9ad..c8b29d8 100644 --- a/PocketSharp/PocketClient.cs +++ b/PocketSharp/PocketClient.cs @@ -152,7 +152,11 @@ namespace PocketSharp string responseString = response.Content.ReadAsStringAsync().Result; // deserialize object - return JsonConvert.DeserializeObject(responseString); + return JsonConvert.DeserializeObject( + responseString, + new BoolConverter(), + new UnixDateTimeConverter() + ); //ValidateResponse(response); } diff --git a/PocketSharp/PocketSharp.csproj b/PocketSharp/PocketSharp.csproj index 9c6d34b..258ece7 100644 --- a/PocketSharp/PocketSharp.csproj +++ b/PocketSharp/PocketSharp.csproj @@ -2,25 +2,20 @@ + 10.0 Debug AnyCPU - {1A291041-ADD8-467C-A6E4-0ACA26328CDF} + {817200C3-A327-4E35-9B5F-63A51C088577} Library Properties PocketSharp PocketSharp v4.0 + Profile96 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\ true - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Profile88 - 10.0 - - - - - 4.0 true @@ -30,7 +25,6 @@ DEBUG;TRACE prompt 4 - bin\Debug\PocketSharp.XML pdbonly @@ -40,6 +34,39 @@ prompt 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ..\packages\Microsoft.Bcl.Async.1.0.16\lib\portable-net40+sl4+win8+wp71\Microsoft.Threading.Tasks.dll @@ -50,8 +77,6 @@ ..\packages\Newtonsoft.Json.5.0.6\lib\portable-net40+sl4+wp7+win8\Newtonsoft.Json.dll - - ..\packages\Microsoft.Bcl.1.1.3\lib\portable-net40+sl4+win8+wp71\System.IO.dll @@ -67,55 +92,24 @@ ..\packages\Microsoft.Bcl.1.1.3\lib\portable-net40+sl4+win8+wp71\System.Runtime.dll - ..\packages\Microsoft.Bcl.1.1.3\lib\portable-net40+sl4+win8+wp71\System.Threading.Tasks.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + -