From a161cb5aca103b8c784ed7089fb8b751c22ae9c7 Mon Sep 17 00:00:00 2001 From: Marc Gravell Date: Fri, 1 May 2015 21:18:51 +0100 Subject: [PATCH] CoreCLR build / 1.41-beta --- Dapper NET40/SqlMapper.cs | 488 +++++++++++++++++--- Dapper.DNX.Tests/Program.cs | 13 +- Dapper.DNX.Tests/project.json | 29 +- Dapper.DNX.Tests/project.lock.json | 693 +++++++++++++++++++++++++++-- Dapper/Dapper.xproj | 3 + Dapper/project.json | 33 +- Dapper/project.lock.json | 686 ++++++++++++++++++++++++++-- 7 files changed, 1791 insertions(+), 154 deletions(-) diff --git a/Dapper NET40/SqlMapper.cs b/Dapper NET40/SqlMapper.cs index 55fbf87..1a2e8a2 100644 --- a/Dapper NET40/SqlMapper.cs +++ b/Dapper NET40/SqlMapper.cs @@ -8,6 +8,15 @@ #if DNXCORE50 using IDbDataParameter = System.Data.Common.DbParameter; +using IDataParameter = System.Data.Common.DbParameter; +using IDbTransaction = System.Data.Common.DbTransaction; +using IDbConnection = System.Data.Common.DbConnection; +using IDbCommand = System.Data.Common.DbCommand; +using IDataReader = System.Data.Common.DbDataReader; +using IDataRecord = System.Data.Common.DbDataReader; +using IDataParameterCollection = System.Data.Common.DbParameterCollection; +using DataException = System.InvalidOperationException; +using ApplicationException = System.InvalidOperationException; #endif using System; @@ -24,6 +33,7 @@ using System.Diagnostics; using System.Globalization; using System.Linq.Expressions; +using System.Data.Common; namespace Dapper { @@ -312,7 +322,7 @@ public interface ITypeHandler /// The typed value object Parse(Type destinationType, object value); } - +#if !DNXCORE50 /// /// A type handler for data-types that are supported by the underlying provider, but which need /// a well-known UdtTypeName to be specified @@ -342,6 +352,7 @@ void ITypeHandler.SetValue(IDbDataParameter parameter, object value) } } } +#endif /// /// Base-class for simple type-handlers @@ -726,8 +737,9 @@ static SqlMapper() typeMap[typeof(DateTimeOffset?)] = DbType.DateTimeOffset; typeMap[typeof(TimeSpan?)] = DbType.Time; typeMap[typeof(object)] = DbType.Object; - +#if !DNXCORE50 AddTypeHandlerImpl(typeof(DataTable), new DataTableHandler(), false); +#endif } /// @@ -736,7 +748,9 @@ static SqlMapper() public static void ResetTypeHandlers() { typeHandlers = new Dictionary(); +#if !DNXCORE50 AddTypeHandlerImpl(typeof(DataTable), new DataTableHandler(), true); +#endif } /// /// Configure the specified type to be mapped to a given db-type @@ -770,7 +784,7 @@ public static void AddTypeHandlerImpl(Type type, ITypeHandler handler, bool clon if (type == null) throw new ArgumentNullException("type"); Type secondary = null; - if(type.IsValueType) + if(type.IsValueType()) { var underlying = Nullable.GetUnderlyingType(type); if(underlying == null) @@ -823,7 +837,10 @@ public static void AddTypeHandler(TypeHandler handler) /// Not intended for direct usage /// [Obsolete("Not intended for direct usage", false)] - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] +#if !DNXCORE50 + [Browsable(false)] +#endif + [EditorBrowsable(EditorBrowsableState.Never)] public static class TypeHandlerCache { /// @@ -862,7 +879,11 @@ internal static void SetHandler(ITypeHandler handler) /// /// Get the DbType that maps to a given value /// - [Obsolete("This method is for internal use only"), Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + [Obsolete("This method is for internal use only")] +#if !DNXCORE50 + [Browsable(false)] +#endif + [EditorBrowsable(EditorBrowsableState.Never)] public static DbType GetDbType(object value) { if (value == null || value is DBNull) return DbType.Object; @@ -877,7 +898,7 @@ internal static DbType LookupDbType(Type type, string name, bool demand, out ITy handler = null; var nullUnderlyingType = Nullable.GetUnderlyingType(type); if (nullUnderlyingType != null) type = nullUnderlyingType; - if (type.IsEnum && !typeMap.ContainsKey(type)) + if (type.IsEnum() && !typeMap.ContainsKey(type)) { type = Enum.GetUnderlyingType(type); } @@ -898,6 +919,7 @@ internal static DbType LookupDbType(Type type, string name, bool demand, out ITy { return DbType.Object; } +#if !DNXCORE50 switch (type.FullName) { case "Microsoft.SqlServer.Types.SqlGeography": @@ -910,6 +932,7 @@ internal static DbType LookupDbType(Type type, string name, bool demand, out ITy AddTypeHandler(type, handler = new UdtTypeHandler("hierarchyid")); return DbType.Object; } +#endif if(demand) throw new NotSupportedException(string.Format("The member {0} of type {1} cannot be used as a parameter value", name, type.FullName)); return DbType.Object; @@ -2140,13 +2163,13 @@ private static void PassByPosition(IDbCommand cmd) { if (cmd.Parameters.Count == 0) return; - Dictionary parameters = new Dictionary(StringComparer.InvariantCulture); + Dictionary parameters = new Dictionary(StringComparer.Ordinal); foreach(IDbDataParameter param in cmd.Parameters) { if (!string.IsNullOrEmpty(param.ParameterName)) parameters[param.ParameterName] = param; } - HashSet consumed = new HashSet(StringComparer.InvariantCulture); + HashSet consumed = new HashSet(StringComparer.Ordinal); bool firstMatch = true; cmd.CommandText = pseudoPositional.Replace(cmd.CommandText, match => { @@ -2193,8 +2216,8 @@ private static void PassByPosition(IDbCommand cmd) } #endif Type underlyingType = null; - if (!(typeMap.ContainsKey(type) || type.IsEnum || type.FullName == LinqBinary || - (type.IsValueType && (underlyingType = Nullable.GetUnderlyingType(type)) != null && underlyingType.IsEnum))) + if (!(typeMap.ContainsKey(type) || type.IsEnum() || type.FullName == LinqBinary || + (type.IsValueType() && (underlyingType = Nullable.GetUnderlyingType(type)) != null && underlyingType.IsEnum()))) { ITypeHandler handler; if (typeHandlers.TryGetValue(type, out handler)) @@ -2652,7 +2675,10 @@ private static Exception MultiMapException(IDataRecord reader) /// /// /// - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] +#if !DNXCORE50 + [Browsable(false)] +#endif + [EditorBrowsable(EditorBrowsableState.Never)] [Obsolete("This method is for internal usage only", false)] public static char ReadChar(object value) { @@ -2665,7 +2691,10 @@ public static char ReadChar(object value) /// /// Internal use only /// - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] +#if !DNXCORE50 + [Browsable(false)] +#endif + [EditorBrowsable(EditorBrowsableState.Never)] [Obsolete("This method is for internal usage only", false)] public static char? ReadNullableChar(object value) { @@ -2679,7 +2708,10 @@ public static char ReadChar(object value) /// /// Internal use only /// - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] +#if !DNXCORE50 + [Browsable(false)] +#endif + [EditorBrowsable(EditorBrowsableState.Never)] [Obsolete("This method is for internal usage only", true)] public static IDbDataParameter FindOrAddParameter(IDataParameterCollection parameters, IDbCommand command, string name) { @@ -2700,7 +2732,10 @@ public static IDbDataParameter FindOrAddParameter(IDataParameterCollection param /// /// Internal use only /// - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] +#if !DNXCORE50 + [Browsable(false)] +#endif + [EditorBrowsable(EditorBrowsableState.Never)] [Obsolete("This method is for internal usage only", false)] public static void PackListParameters(IDbCommand command, string namePrefix, object value) { @@ -2854,10 +2889,12 @@ public static string Format(object value) } else { - switch (Type.GetTypeCode(value.GetType())) + switch (TypeExtensions.GetTypeCode(value.GetType())) { +#if !DNXCORE50 case TypeCode.DBNull: return "null"; +#endif case TypeCode.Boolean: return ((bool)value) ? "1" : "0"; case TypeCode.Byte: @@ -2936,7 +2973,7 @@ internal static IList GetLiteralTokens(string sql) if (!literalTokens.IsMatch(sql)) return LiteralToken.None; var matches = literalTokens.Matches(sql); - var found = new HashSet(StringComparer.InvariantCulture); + var found = new HashSet(StringComparer.Ordinal); List list = new List(matches.Count); foreach(Match match in matches) { @@ -2970,7 +3007,7 @@ internal static IList GetLiteralTokens(string sql) var il = dm.GetILGenerator(); - bool isStruct = type.IsValueType; + bool isStruct = type.IsValueType(); bool haveInt32Arg1 = false; il.Emit(OpCodes.Ldarg_1); // stack is now [untyped-param] if (isStruct) @@ -3000,7 +3037,7 @@ internal static IList GetLiteralTokens(string sql) bool ok = true; for (int i = 0; i < propsArr.Length; i++) { - if (!string.Equals(propsArr[i].Name, ctorParams[i].Name, StringComparison.InvariantCultureIgnoreCase)) + if (!string.Equals(propsArr[i].Name, ctorParams[i].Name, StringComparison.OrdinalIgnoreCase)) { ok = false; break; @@ -3012,7 +3049,7 @@ internal static IList GetLiteralTokens(string sql) props = propsArr; } else { // might still all be accounted for; check the hard way - var positionByName = new Dictionary(StringComparer.InvariantCultureIgnoreCase); + var positionByName = new Dictionary(StringComparer.OrdinalIgnoreCase); foreach(var param in ctorParams) { positionByName[param.Name] = param.Position; @@ -3066,7 +3103,7 @@ internal static IList GetLiteralTokens(string sql) il.Emit(OpCodes.Ldstr, prop.Name); // stack is now [parameters] [command] [name] il.Emit(OpCodes.Ldloc_0); // stack is now [parameters] [command] [name] [typed-param] il.Emit(callOpCode, prop.GetGetMethod()); // stack is [parameters] [command] [name] [typed-value] - if (prop.PropertyType.IsValueType) + if (prop.PropertyType.IsValueType()) { il.Emit(OpCodes.Box, prop.PropertyType); // stack is [parameters] [command] [name] [boxed-value] } @@ -3118,7 +3155,7 @@ internal static IList GetLiteralTokens(string sql) il.Emit(OpCodes.Ldloc_0); // stack is now [parameters] [[parameters]] [parameter] [parameter] [typed-param] il.Emit(callOpCode, prop.GetGetMethod()); // stack is [parameters] [[parameters]] [parameter] [parameter] [typed-value] bool checkForNull = true; - if (prop.PropertyType.IsValueType) + if (prop.PropertyType.IsValueType()) { il.Emit(OpCodes.Box, prop.PropertyType); // stack is [parameters] [[parameters]] [parameter] [parameter] [boxed-value] if (Nullable.GetUnderlyingType(prop.PropertyType) == null) @@ -3228,10 +3265,10 @@ internal static IList GetLiteralTokens(string sql) for(int i = 0; i < propsArr.Length;i++) { string thisName = propsArr[i].Name; - if(string.Equals(thisName, huntName, StringComparison.InvariantCultureIgnoreCase)) + if(string.Equals(thisName, huntName, StringComparison.OrdinalIgnoreCase)) { fallback = propsArr[i]; - if(string.Equals(thisName, huntName, StringComparison.InvariantCulture)) + if(string.Equals(thisName, huntName, StringComparison.Ordinal)) { exact = fallback; break; @@ -3246,7 +3283,7 @@ internal static IList GetLiteralTokens(string sql) il.Emit(OpCodes.Ldloc_0); // command, sql, typed parameter il.EmitCall(callOpCode, prop.GetGetMethod(), null); // command, sql, typed value Type propType = prop.PropertyType; - var typeCode = Type.GetTypeCode(propType); + var typeCode = TypeExtensions.GetTypeCode(propType); switch (typeCode) { case TypeCode.Boolean: @@ -3287,7 +3324,7 @@ internal static IList GetLiteralTokens(string sql) il.EmitCall(OpCodes.Call, convert, null); // command, sql, string value break; default: - if (propType.IsValueType) il.Emit(OpCodes.Box, propType); // command, sql, object value + if (propType.IsValueType()) il.Emit(OpCodes.Box, propType); // command, sql, object value il.EmitCall(OpCodes.Call, format, null); // command, sql, string value break; @@ -3305,13 +3342,13 @@ internal static IList GetLiteralTokens(string sql) { typeof(bool), typeof(sbyte), typeof(byte), typeof(ushort), typeof(short), typeof(uint), typeof(int), typeof(ulong), typeof(long), typeof(float), typeof(double), typeof(decimal) - }.ToDictionary(x => Type.GetTypeCode(x), x => x.GetMethod("ToString", BindingFlags.Public | BindingFlags.Instance, null, new[] { typeof(IFormatProvider) }, null)); + }.ToDictionary(x => TypeExtensions.GetTypeCode(x), x => x.GetPublicInstanceMethod("ToString", new[] { typeof(IFormatProvider) })); static MethodInfo GetToString(TypeCode typeCode) { MethodInfo method; return toStrings.TryGetValue(typeCode, out method) ? method : null; } - static readonly MethodInfo StringReplace = typeof(string).GetMethod("Replace", BindingFlags.Instance | BindingFlags.Public, null, new Type[] { typeof(string), typeof(string) }, null), + static readonly MethodInfo StringReplace = typeof(string).GetPublicInstanceMethod("Replace", new Type[] { typeof(string), typeof(string) }), InvariantCulture = typeof(CultureInfo).GetProperty("InvariantCulture", BindingFlags.Public | BindingFlags.Static).GetGetMethod(); private static int ExecuteCommand(IDbConnection cnn, ref CommandDefinition command, Action paramReader) @@ -3423,7 +3460,7 @@ private static IDataReader ExecuteReaderImpl(IDbConnection cnn, ref CommandDefin } #pragma warning restore 618 - if (effectiveType.IsEnum) + if (effectiveType.IsEnum()) { // assume the value is returned as the correct type (int/byte/etc), but box back to the typed enum return r => { @@ -3457,7 +3494,7 @@ private static T Parse(object value) if (value is T) return (T)value; var type = typeof(T); type = Nullable.GetUnderlyingType(type) ?? type; - if (type.IsEnum) + if (type.IsEnum()) { if (value is float || value is double || value is decimal) { @@ -3486,14 +3523,23 @@ static readonly MethodInfo public static ITypeMap GetTypeMap(Type type) { if (type == null) throw new ArgumentNullException("type"); +#if DNXCORE50 + ITypeMap map = null; +#else var map = (ITypeMap)_typeMaps[type]; +#endif if (map == null) { lock (_typeMaps) { // double-checked; store this to avoid reflection next time we see this type // since multiple queries commonly use the same domain-entity/DTO/view-model type +#if DNXCORE50 + if (!_typeMaps.TryGetValue(type, out map)) map = null; +#else map = (ITypeMap)_typeMaps[type]; - if (map == null) +#endif + + if (map == null) { map = new DefaultTypeMap(type); _typeMaps[type] = map; @@ -3504,7 +3550,11 @@ public static ITypeMap GetTypeMap(Type type) } // use Hashtable to get free lockless reading +#if DNXCORE50 + private static readonly Dictionary _typeMaps = new Dictionary(); +#else private static readonly Hashtable _typeMaps = new Hashtable(); +#endif /// /// Set custom mapping for type deserializers @@ -3577,8 +3627,10 @@ public static void SetTypeMap(Type type, ITypeMap map) ConstructorInfo specializedConstructor = null; +#if !DNXCORE50 bool supportInitialize = false; - if (type.IsValueType) +#endif + if (type.IsValueType()) { il.Emit(OpCodes.Ldloca_S, (byte)1); il.Emit(OpCodes.Initobj, type); @@ -3599,7 +3651,7 @@ public static void SetTypeMap(Type type, ITypeMap map) var consPs = explicitConstr.GetParameters(); foreach(var p in consPs) { - if(!p.ParameterType.IsValueType) + if(!p.ParameterType.IsValueType()) { il.Emit(OpCodes.Ldnull); } @@ -3620,12 +3672,14 @@ public static void SetTypeMap(Type type, ITypeMap map) il.Emit(OpCodes.Newobj, explicitConstr); il.Emit(OpCodes.Stloc_1); +#if !DNXCORE50 supportInitialize = typeof(ISupportInitialize).IsAssignableFrom(type); if (supportInitialize) { il.Emit(OpCodes.Ldloc_1); il.EmitCall(OpCodes.Callvirt, typeof(ISupportInitialize).GetMethod("BeginInit"), null); } +#endif } else { @@ -3640,12 +3694,14 @@ public static void SetTypeMap(Type type, ITypeMap map) { il.Emit(OpCodes.Newobj, ctor); il.Emit(OpCodes.Stloc_1); +#if !DNXCORE50 supportInitialize = typeof(ISupportInitialize).IsAssignableFrom(type); if (supportInitialize) { il.Emit(OpCodes.Ldloc_1); il.EmitCall(OpCodes.Callvirt, typeof(ISupportInitialize).GetMethod("BeginInit"), null); } +#endif } else { @@ -3655,7 +3711,7 @@ public static void SetTypeMap(Type type, ITypeMap map) } il.BeginExceptionBlock(); - if (type.IsValueType) + if (type.IsValueType()) { il.Emit(OpCodes.Ldloca_S, (byte)1);// [target] } @@ -3706,9 +3762,9 @@ public static void SetTypeMap(Type type, ITypeMap map) // unbox nullable enums as the primitive, i.e. byte etc var nullUnderlyingType = Nullable.GetUnderlyingType(memberType); - var unboxType = nullUnderlyingType != null && nullUnderlyingType.IsEnum ? nullUnderlyingType : memberType; + var unboxType = nullUnderlyingType != null && nullUnderlyingType.IsEnum() ? nullUnderlyingType : memberType; - if (unboxType.IsEnum) + if (unboxType.IsEnum()) { Type numericType = Enum.GetUnderlyingType(unboxType); if(colType == typeof(string)) @@ -3743,9 +3799,9 @@ public static void SetTypeMap(Type type, ITypeMap map) } else { - TypeCode dataTypeCode = Type.GetTypeCode(colType), unboxTypeCode = Type.GetTypeCode(unboxType); + TypeCode dataTypeCode = TypeExtensions.GetTypeCode(colType), unboxTypeCode = TypeExtensions.GetTypeCode(unboxType); bool hasTypeHandler; - if ((hasTypeHandler = typeHandlers.ContainsKey(unboxType)) || colType == unboxType || dataTypeCode == unboxTypeCode || dataTypeCode == Type.GetTypeCode(nullUnderlyingType)) + if ((hasTypeHandler = typeHandlers.ContainsKey(unboxType)) || colType == unboxType || dataTypeCode == unboxTypeCode || dataTypeCode == TypeExtensions.GetTypeCode(nullUnderlyingType)) { if (hasTypeHandler) { @@ -3776,7 +3832,7 @@ public static void SetTypeMap(Type type, ITypeMap map) // Store the value in the property/field if (item.Property != null) { - if (type.IsValueType) + if (type.IsValueType()) { il.Emit(OpCodes.Call, DefaultTypeMap.GetPropertySetter(item.Property, type)); // stack is now [target] } @@ -3797,7 +3853,7 @@ public static void SetTypeMap(Type type, ITypeMap map) if (specializedConstructor != null) { il.Emit(OpCodes.Pop); - if (item.MemberType.IsValueType) + if (item.MemberType.IsValueType()) { int localIndex = il.DeclareLocal(item.MemberType).LocalIndex; LoadLocalAddress(il, localIndex); @@ -3828,7 +3884,7 @@ public static void SetTypeMap(Type type, ITypeMap map) first = false; index += 1; } - if (type.IsValueType) + if (type.IsValueType()) { il.Emit(OpCodes.Pop); } @@ -3839,11 +3895,13 @@ public static void SetTypeMap(Type type, ITypeMap map) il.Emit(OpCodes.Newobj, specializedConstructor); } il.Emit(OpCodes.Stloc_1); // stack is empty +#if !DNXCORE50 if (supportInitialize) { il.Emit(OpCodes.Ldloc_1); il.EmitCall(OpCodes.Callvirt, typeof(ISupportInitialize).GetMethod("EndInit"), null); } +#endif } il.MarkLabel(allDone); il.BeginCatchBlock(typeof(Exception)); // stack is Exception @@ -3854,7 +3912,7 @@ public static void SetTypeMap(Type type, ITypeMap map) il.EndExceptionBlock(); il.Emit(OpCodes.Ldloc_1); // stack is [rval] - if (type.IsValueType) + if (type.IsValueType()) { il.Emit(OpCodes.Box, type); } @@ -3880,7 +3938,7 @@ private static void FlexibleConvertBoxedFromHeadOfStack(ILGenerator il, Type fro { bool handled = false; OpCode opCode = default(OpCode); - switch (Type.GetTypeCode(from)) + switch (TypeExtensions.GetTypeCode(from)) { case TypeCode.Boolean: case TypeCode.Byte: @@ -3894,7 +3952,7 @@ private static void FlexibleConvertBoxedFromHeadOfStack(ILGenerator il, Type fro case TypeCode.Single: case TypeCode.Double: handled = true; - switch (Type.GetTypeCode(via ?? to)) + switch (TypeExtensions.GetTypeCode(via ?? to)) { case TypeCode.Byte: opCode = OpCodes.Conv_Ovf_I1_Un; break; @@ -4043,7 +4101,7 @@ public static void ThrowDataException(Exception ex, int index, IDataReader reade } else { - formattedValue = Convert.ToString(value) + " - " + Type.GetTypeCode(value.GetType()); + formattedValue = Convert.ToString(value) + " - " + TypeExtensions.GetTypeCode(value.GetType()); } } catch (Exception valEx) @@ -4379,6 +4437,8 @@ public void Dispose() } } + +#if !DNXCORE50 /// /// Used to pass a DataTable as a TableValuedParameter /// @@ -4412,7 +4472,7 @@ public static string GetTypeName(this DataTable table) { return table == null ? null : table.ExtendedProperties[DataTableTypeNameKey] as string; } - +#endif // one per thread [ThreadStatic] @@ -4793,8 +4853,8 @@ public DynamicParameters Output(T target, Expression> express var lastMemberAccess = expression.Body as MemberExpression; if (lastMemberAccess == null || - (lastMemberAccess.Member.MemberType != MemberTypes.Property && - lastMemberAccess.Member.MemberType != MemberTypes.Field)) + (!(lastMemberAccess.Member is PropertyInfo) && + !(lastMemberAccess.Member is FieldInfo))) { if (expression.Body.NodeType == ExpressionType.Convert && expression.Body.Type == typeof(object) && @@ -4829,8 +4889,8 @@ public DynamicParameters Output(T target, Expression> express break; } else if (diving == null || - (diving.Member.MemberType != MemberTypes.Property && - diving.Member.MemberType != MemberTypes.Field)) + (!(diving.Member is PropertyInfo) && + !(diving.Member is FieldInfo))) { @throw(); } @@ -4843,8 +4903,15 @@ public DynamicParameters Output(T target, Expression> express var lookup = string.Join("|", names.ToArray()); var cache = CachedOutputSetters.Cache; - var setter = (Action)cache[lookup]; - + Action setter; +#if DNXCORE50 + lock (cache) + { +#endif + setter = (Action)cache[lookup]; +#if DNXCORE50 + } +#endif if (setter != null) goto MAKECALLBACK; // Come on let's build a method, let's build it, let's build it now! @@ -4860,7 +4927,7 @@ public DynamicParameters Output(T target, Expression> express { var member = chain[0].Member; - if (member.MemberType == MemberTypes.Property) + if (member is PropertyInfo) { var get = ((PropertyInfo)member).GetGetMethod(true); il.Emit(OpCodes.Callvirt, get); // [Member{i}] @@ -4879,7 +4946,7 @@ public DynamicParameters Output(T target, Expression> express // GET READY var lastMember = lastMemberAccess.Member; - if (lastMember.MemberType == MemberTypes.Property) + if (lastMember is PropertyInfo) { var set = ((PropertyInfo)lastMember).GetSetMethod(true); il.Emit(OpCodes.Callvirt, set); // SET @@ -4939,7 +5006,11 @@ public DynamicParameters Output(T target, Expression> express internal static class CachedOutputSetters { +#if DNXCORE50 + public static readonly Dictionary> Cache = new Dictionary>(); +#else public static readonly Hashtable Cache = new Hashtable(); +#endif } void SqlMapper.IParameterCallbacks.OnCompleted() @@ -4950,7 +5021,7 @@ void SqlMapper.IParameterCallbacks.OnCompleted() } } } - +#if !DNXCORE50 sealed class DataTableHandler : Dapper.SqlMapper.ITypeHandler { public object Parse(Type destinationType, object value) @@ -5019,6 +5090,7 @@ internal static void Set(IDbDataParameter parameter, DataTable table, string typ } } } +#endif /// /// This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar /// @@ -5093,7 +5165,7 @@ private static readonly FeatureSupport public static FeatureSupport Get(IDbConnection connection) { string name = connection == null ? null : connection.GetType().Name; - if (string.Equals(name, "npgsqlconnection", StringComparison.InvariantCultureIgnoreCase)) return postgres; + if (string.Equals(name, "npgsqlconnection", StringComparison.OrdinalIgnoreCase)) return postgres; return @default; } private FeatureSupport(bool arrays) @@ -5247,13 +5319,20 @@ internal static MethodInfo GetPropertySetter(PropertyInfo propertyInfo, Type typ { return propertyInfo.DeclaringType == type ? propertyInfo.GetSetMethod(true) : +#if DNXCORE50 propertyInfo.DeclaringType.GetProperty( + propertyInfo.Name, propertyInfo.PropertyType, + propertyInfo.GetIndexParameters().Select(p => p.ParameterType).ToArray() + ).GetSetMethod(true); +#else + propertyInfo.DeclaringType.GetProperty( propertyInfo.Name, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, Type.DefaultBinder, propertyInfo.PropertyType, propertyInfo.GetIndexParameters().Select(p => p.ParameterType).ToArray(), null).GetSetMethod(true); +#endif } internal static List GetSettableProps(Type t) @@ -5296,7 +5375,7 @@ public ConstructorInfo FindConstructor(string[] names, Type[] types) continue; var unboxedType = Nullable.GetUnderlyingType(ctorParameters[i].ParameterType) ?? ctorParameters[i].ParameterType; if (unboxedType != types[i] - && !(unboxedType.IsEnum && Enum.GetUnderlyingType(unboxedType) == types[i]) + && !(unboxedType.IsEnum() && Enum.GetUnderlyingType(unboxedType) == types[i]) && !(unboxedType == typeof(char) && types[i] == typeof(string))) break; } @@ -5314,7 +5393,11 @@ public ConstructorInfo FindConstructor(string[] names, Type[] types) public ConstructorInfo FindExplicitConstructor() { var constructors = _type.GetConstructors(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); +#if DNXCORE50 + var withAttr = constructors.Where(c => c.CustomAttributes.Any(x => x.AttributeType == typeof(ExplicitConstructorAttribute))).ToList(); +#else var withAttr = constructors.Where(c => c.GetCustomAttributes(typeof(ExplicitConstructorAttribute), true).Length > 0).ToList(); +#endif if (withAttr.Count == 1) { @@ -5446,6 +5529,211 @@ public SqlMapper.IMemberMap GetMember(string columnName) } } +#if DNXCORE50 + internal class WrappedReader : WrappedDataReader + { + private IDbCommand cmd; + private IDataReader reader; + + public override IEnumerator GetEnumerator() + { + return Reader.GetEnumerator(); + } + public WrappedReader(IDbCommand cmd, IDataReader reader) + { + this.cmd = cmd; + this.reader = reader; + } + public override IDataReader Reader + { + get + { + var tmp = reader; + if (tmp == null) throw new ObjectDisposedException(GetType().Name); + return tmp; + } + } + public override IDbCommand Command + { + get + { + var tmp = cmd; + if (tmp == null) throw new ObjectDisposedException(GetType().Name); + return tmp; + } + } + + public override int Depth + { + get { return Reader.Depth; } + } + + public override bool IsClosed + { + get { return reader == null ? true : reader.IsClosed; } + } + public override bool HasRows + { + get + { + return Reader.HasRows; + } + } + public override bool NextResult() + { + return Reader.NextResult(); + } + + public override bool Read() + { + return Reader.Read(); + } + + public override int RecordsAffected + { + get { return Reader.RecordsAffected; } + } + + + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (reader != null) reader.Dispose(); + reader = null; + if (cmd != null) cmd.Dispose(); + cmd = null; + } + base.Dispose(disposing); + } + + public override int FieldCount + { + get { return Reader.FieldCount; } + } + + public override bool GetBoolean(int i) + { + return Reader.GetBoolean(i); + } + + public override byte GetByte(int i) + { + return Reader.GetByte(i); + } + + public override long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length) + { + return Reader.GetBytes(i, fieldOffset, buffer, bufferoffset, length); + } + + public override char GetChar(int i) + { + return Reader.GetChar(i); + } + + public override long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length) + { + return Reader.GetChars(i, fieldoffset, buffer, bufferoffset, length); + } + + protected override IDataReader GetDbDataReader(int ordinal) + { + return Reader.GetData(ordinal); + } + + public override string GetDataTypeName(int i) + { + return Reader.GetDataTypeName(i); + } + + public override DateTime GetDateTime(int i) + { + return Reader.GetDateTime(i); + } + + public override decimal GetDecimal(int i) + { + return Reader.GetDecimal(i); + } + + public override double GetDouble(int i) + { + return Reader.GetDouble(i); + } + + public override Type GetFieldType(int i) + { + return Reader.GetFieldType(i); + } + + public override float GetFloat(int i) + { + return Reader.GetFloat(i); + } + + public override Guid GetGuid(int i) + { + return Reader.GetGuid(i); + } + + public override short GetInt16(int i) + { + return Reader.GetInt16(i); + } + + public override int GetInt32(int i) + { + return Reader.GetInt32(i); + } + + public override long GetInt64(int i) + { + return Reader.GetInt64(i); + } + + public override string GetName(int i) + { + return Reader.GetName(i); + } + + public override int GetOrdinal(string name) + { + return Reader.GetOrdinal(name); + } + + public override string GetString(int i) + { + return Reader.GetString(i); + } + + public override object GetValue(int i) + { + return Reader.GetValue(i); + } + + public override int GetValues(object[] values) + { + return Reader.GetValues(values); + } + + public override bool IsDBNull(int i) + { + return Reader.IsDBNull(i); + } + + public override object this[string name] + { + get { return Reader[name]; } + } + + public override object this[int i] + { + get { return Reader[i]; } + } + } +#else + internal class WrappedReader : IDataReader, IWrappedDataReader { private IDataReader reader; @@ -5644,7 +5932,25 @@ bool IDataRecord.IsDBNull(int i) get { return Reader[i]; } } } +#endif +#if DNXCORE50 + /// + /// Describes a reader that controls the lifetime of both a command and a reader, + /// exposing the downstream command/reader as properties. + /// + public abstract class WrappedDataReader : IDataReader + { + /// + /// Obtain the underlying reader + /// + public abstract IDataReader Reader { get; } + /// + /// Obtain the underlying command + /// + public abstract IDbCommand Command { get; } + } +#else /// /// Describes a reader that controls the lifetime of both a command and a reader, /// exposing the downstream command/reader as properties. @@ -5660,6 +5966,7 @@ public interface IWrappedDataReader : IDataReader /// IDbCommand Command { get; } } +#endif /// /// Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters @@ -5712,4 +6019,73 @@ public partial class FeatureSupport #endif + internal static class TypeExtensions + { + public static bool IsValueType(this Type type) + { +#if DNXCORE50 + return typeof(ValueType).IsAssignableFrom(type) && type != typeof(ValueType); +#else + return type.IsValueType; +#endif + } + public static bool IsEnum(this Type type) + { +#if DNXCORE50 + return typeof(Enum).IsAssignableFrom(type) && type != typeof(Enum); +#else + return type.IsEnum; +#endif + } +#if DNXCORE50 + public static TypeCode GetTypeCode(Type type) + { + if (type == null) return TypeCode.Empty; + TypeCode result; + if (typeCodeLookup.TryGetValue(type, out result)) return result; + + if (type.IsEnum()) + { + type = Enum.GetUnderlyingType(type); + if (typeCodeLookup.TryGetValue(type, out result)) return result; + } + return TypeCode.Object; + } + static readonly Dictionary typeCodeLookup = new Dictionary + { + {typeof(bool), TypeCode.Boolean }, + {typeof(byte), TypeCode.Byte }, + {typeof(char), TypeCode.Char}, + {typeof(DateTime), TypeCode.DateTime}, + {typeof(decimal), TypeCode.Decimal}, + {typeof(double), TypeCode.Double }, + {typeof(short), TypeCode.Int16 }, + {typeof(int), TypeCode.Int32 }, + {typeof(long), TypeCode.Int64 }, + {typeof(object), TypeCode.Object}, + {typeof(sbyte), TypeCode.SByte }, + {typeof(float), TypeCode.Single }, + {typeof(string), TypeCode.String }, + {typeof(ushort), TypeCode.UInt16 }, + {typeof(uint), TypeCode.UInt32 }, + {typeof(ulong), TypeCode.UInt64 }, + }; +#else + public static TypeCode GetTypeCode(Type type) + { + return Type.GetTypeCode(type); + } +#endif + public static MethodInfo GetPublicInstanceMethod(this Type type, string name, Type[] types) + { +#if DNXCORE50 + var method = type.GetMethod(name, types); + return (method != null && method.IsPublic && !method.IsStatic) ? method : null; +#else + return type.GetMethod(name, BindingFlags.Instance | BindingFlags.Public, null, types, null); +#endif + } + + + } } diff --git a/Dapper.DNX.Tests/Program.cs b/Dapper.DNX.Tests/Program.cs index 5b550d5..34f650a 100644 --- a/Dapper.DNX.Tests/Program.cs +++ b/Dapper.DNX.Tests/Program.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Data.SqlClient; using System.Threading.Tasks; +using System.Reflection; namespace Dapper.DNX.Tests { @@ -9,7 +10,11 @@ public class Program { public void Main() { +#if DNXCORE50 + Console.WriteLine("From: {0}", typeof(int).AssemblyQualifiedName); +#else Console.WriteLine("Version: {0}", Environment.Version); +#endif const string connectionString = "Data Source=.;Initial Catalog=tempdb;Integrated Security=True"; using (var conn = new SqlConnection(connectionString)) { @@ -18,16 +23,12 @@ public void Main() Console.WriteLine(row.X); var methods = typeof(Dapper.SqlMapper).GetMethods().Where(x => x.Name == "QueryAsync").ToList(); - +#if ASYNC row = conn.QueryAsync("select @a as X", new { a = 123 }).Result.Single(); +#endif Console.WriteLine(row.X); } } - private static async Task WithDelay(int i) - { - await Task.Delay(100); - return i; - } class Foo { public int X { get; set; } diff --git a/Dapper.DNX.Tests/project.json b/Dapper.DNX.Tests/project.json index f007727..7fd9aac 100644 --- a/Dapper.DNX.Tests/project.json +++ b/Dapper.DNX.Tests/project.json @@ -6,32 +6,35 @@ "commands": { "Dapper.DNX.Tests": "Dapper.DNX.Tests" }, - "compilationOptions": {"define": ["ASYNC"]}, "frameworks": { "net45": { + "compilationOptions": { "define": [ "ASYNC" ], "warningsAsErrors": true }, + "dependencies": { + }, + "frameworkAssemblies": { + "System.Data": "4.0.0.0" + } + }, + "net40": { "dependencies": { }, "frameworkAssemblies": { "System.Data": "4.0.0.0" } }, - //"net40": { - // "dependencies": { - // }, - // "frameworkAssemblies": { - // "System.Data": "4.0.0.0" - // } - //}, "dnx451": { + "compilationOptions": { "define": [ "ASYNC" ], "warningsAsErrors": true }, "frameworkAssemblies": { "System.Data": "4.0.0.0" } + }, + "dnxcore50": { + "compilationOptions": { "define": [ ], "warningsAsErrors": true }, + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Reflection": "4.0.10-beta-*" + } } - //"dnxcore50" : { - // "dependencies": { - // "System.Console": "4.0.0-beta-22716" - // } - //} } } diff --git a/Dapper.DNX.Tests/project.lock.json b/Dapper.DNX.Tests/project.lock.json index 06dbdad..2bc1a72 100644 --- a/Dapper.DNX.Tests/project.lock.json +++ b/Dapper.DNX.Tests/project.lock.json @@ -3,53 +3,683 @@ "version": -9997, "targets": { ".NETFramework,Version=v4.5": { - "Dapper/1.41-alpha": { + "System.Runtime/4.0.20-beta-22816": { "frameworkAssemblies": [ - "System.Data", "mscorlib", "System", - "System.Core", - "Microsoft.CSharp" + "System.ComponentModel.Composition", + "System.Core" ], "compile": [ - "lib/net45/Dapper.dll" + "lib/net45/System.Runtime.dll" ], "runtime": [ - "lib/net45/Dapper.dll" + "lib/net45/System.Runtime.dll" ] } }, - "DNX,Version=v4.5.1": { - "Dapper/1.41-alpha": { - "frameworkAssemblies": [ - "System.Data", - "mscorlib", - "System", - "System.Core", - "Microsoft.CSharp" + ".NETFramework,Version=v4.0": {}, + "DNX,Version=v4.5.1": {}, + "DNXCore,Version=v5.0": { + "Microsoft.CSharp/4.0.0-beta-22816": { + "dependencies": { + "System.Dynamic.Runtime": "4.0.10-beta-22816", + "System.Linq.Expressions": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/Microsoft.CSharp.dll" + ], + "runtime": [ + "lib/aspnetcore50/Microsoft.CSharp.dll" + ] + }, + "System.Collections/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Collections.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Collections.dll" + ] + }, + "System.Collections.Concurrent/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Collections.Concurrent.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Collections.Concurrent.dll" + ] + }, + "System.Console/4.0.0-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Console.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Console.dll" + ] + }, + "System.Data.Common/4.0.0-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Data.Common.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Data.Common.dll" + ] + }, + "System.Data.SqlClient/4.0.0-beta-22816": { + "dependencies": { + "System.Data.Common": "4.0.0-beta-22816", + "System.Globalization": "4.0.10-beta-22816", + "System.IO": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816", + "System.Xml.ReaderWriter": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Data.SqlClient.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Data.SqlClient.dll" + ] + }, + "System.Dynamic.Runtime/4.0.10-beta-22816": { + "dependencies": { + "System.Linq.Expressions": "4.0.10-beta-22816", + "System.ObjectModel": "4.0.10-beta-22816", + "System.Reflection": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Dynamic.Runtime.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Dynamic.Runtime.dll" + ] + }, + "System.Globalization/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Globalization.dll" ], + "runtime": [ + "lib/aspnetcore50/System.Globalization.dll" + ] + }, + "System.IO/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Text.Encoding": "4.0.10-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.IO.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.IO.dll" + ] + }, + "System.Linq/4.0.0-beta-22816": { + "dependencies": { + "System.Collections": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Linq.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Linq.dll" + ] + }, + "System.Linq.Expressions/4.0.10-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Linq.Expressions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Linq.Expressions.dll" + ] + }, + "System.ObjectModel/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, "compile": [ - "lib/dnx451/Dapper.dll" + "lib/contract/System.ObjectModel.dll" ], "runtime": [ - "lib/dnx451/Dapper.dll" + "lib/aspnetcore50/System.ObjectModel.dll" + ] + }, + "System.Reflection/4.0.10-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.dll" + ] + }, + "System.Reflection.Emit/4.0.0-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Reflection": "4.0.10-beta-22816", + "System.Reflection.Emit.ILGeneration": "4.0.0-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Emit.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Emit.dll" + ] + }, + "System.Reflection.Emit.ILGeneration/4.0.0-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Emit.ILGeneration.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Emit.ILGeneration.dll" + ] + }, + "System.Reflection.Emit.Lightweight/4.0.0-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Reflection.Emit.ILGeneration": "4.0.0-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Emit.Lightweight.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Emit.Lightweight.dll" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Primitives.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Reflection.TypeExtensions/4.0.0-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.TypeExtensions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.TypeExtensions.dll" + ] + }, + "System.Runtime/4.0.20-beta-22816": { + "compile": [ + "lib/contract/System.Runtime.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Runtime.Extensions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Text.Encoding.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.CodePages/4.0.0-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Text.Encoding": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Text.Encoding.CodePages.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Text.Encoding.CodePages.dll" + ] + }, + "System.Text.RegularExpressions/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Text.RegularExpressions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Text.RegularExpressions.dll" + ] + }, + "System.Threading/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Threading.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Threading.Tasks.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Threading.Tasks.dll" + ] + }, + "System.Xml.ReaderWriter/4.0.10-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816", + "System.Text.Encoding": "4.0.10-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Xml.ReaderWriter.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Xml.ReaderWriter.dll" ] } } }, "libraries": { - "Dapper/1.41-alpha": { - "sha512": "dJPrw+E8nGHRydGRUddbjGUxQBR9w4d8ISLD8QM24FsRihEJjjlww+AFb77mK78qGFwkHAnpY2k8oZfpLR61gg==", - "files": [ - "Dapper.1.41-alpha.nupkg", - "Dapper.1.41-alpha.nupkg.sha512", - "Dapper.nuspec", - "lib/dnx451/Dapper.dll", - "lib/dnx451/Dapper.xml", - "lib/net40/Dapper.dll", - "lib/net40/Dapper.xml", - "lib/net45/Dapper.dll", - "lib/net45/Dapper.xml" + "Microsoft.CSharp/4.0.0-beta-22816": { + "sha512": "FGnaYvmoVLd0QTnOyHfm+C79a9CGqQAoh76Ix9++a4SdeaAB8PgpB2Vi/Uc5jcp491QvPyPQjtXCuhRfqWvNkw==", + "files": [ + "License.rtf", + "Microsoft.CSharp.4.0.0-beta-22816.nupkg", + "Microsoft.CSharp.4.0.0-beta-22816.nupkg.sha512", + "Microsoft.CSharp.nuspec", + "lib/aspnetcore50/Microsoft.CSharp.dll", + "lib/contract/Microsoft.CSharp.dll", + "lib/net45/_._", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/Microsoft.CSharp.dll" + ] + }, + "System.Collections/4.0.10-beta-22816": { + "sha512": "tkVBx0CH/Xunk18S9LvNzPRqbXdIzsHbcGRtePrZCNZ9EUNuXK0dzzUl5q0KUgsQmeyUCDSw+7mwyG/pDGSpAA==", + "files": [ + "License.rtf", + "System.Collections.4.0.10-beta-22816.nupkg", + "System.Collections.4.0.10-beta-22816.nupkg.sha512", + "System.Collections.nuspec", + "lib/aspnetcore50/System.Collections.dll", + "lib/contract/System.Collections.dll", + "lib/net45/System.Collections.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Collections.dll" + ] + }, + "System.Collections.Concurrent/4.0.10-beta-22816": { + "sha512": "IWT4zcq0JdzU5HvJuHZbBFIntFfjmKzkfPbUWw5gwbso5nejOfVSCiRgJmUmEex0R5oJN+sX8gSrJrofzoXrww==", + "files": [ + "License.rtf", + "System.Collections.Concurrent.4.0.10-beta-22816.nupkg", + "System.Collections.Concurrent.4.0.10-beta-22816.nupkg.sha512", + "System.Collections.Concurrent.nuspec", + "lib/aspnetcore50/System.Collections.Concurrent.dll", + "lib/contract/System.Collections.Concurrent.dll", + "lib/net45/System.Collections.Concurrent.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Collections.Concurrent.dll" + ] + }, + "System.Console/4.0.0-beta-22816": { + "sha512": "Nj6lappTB2mN/jfONYJ88FTG+vtPWa4/KHlkjukULmOrhoA0x5IfZrbCZJdyZ9lYoS0s1o3DOerwnlw8KSS5jQ==", + "files": [ + "License.rtf", + "System.Console.4.0.0-beta-22816.nupkg", + "System.Console.4.0.0-beta-22816.nupkg.sha512", + "System.Console.nuspec", + "lib/aspnetcore50/System.Console.dll", + "lib/contract/System.Console.dll", + "lib/net45/System.Console.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Console.dll" + ] + }, + "System.Data.Common/4.0.0-beta-22816": { + "sha512": "S529QASzN//8c99JoII7mB3/HXDiEFghpdI0BX2l6wi+pl+tWszDEvLG3fTzitZiE9x5/TsaC9+PqffajhfGIg==", + "files": [ + "License.rtf", + "System.Data.Common.4.0.0-beta-22816.nupkg", + "System.Data.Common.4.0.0-beta-22816.nupkg.sha512", + "System.Data.Common.nuspec", + "lib/aspnetcore50/System.Data.Common.dll", + "lib/contract/System.Data.Common.dll", + "lib/net45/System.Data.Common.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Data.Common.dll" + ] + }, + "System.Data.SqlClient/4.0.0-beta-22816": { + "sha512": "HyCUhHjJ5iqsO9GtIqoulzPaJL7w9UeYMaazDhMbUQP1Yz2zalNQaFIV3ssFFEPmCVZwjeV+1zagDfoM0KahZQ==", + "files": [ + "License.rtf", + "System.Data.SqlClient.4.0.0-beta-22816.nupkg", + "System.Data.SqlClient.4.0.0-beta-22816.nupkg.sha512", + "System.Data.SqlClient.nuspec", + "lib/aspnetcore50/System.Data.SqlClient.dll", + "lib/contract/System.Data.SqlClient.dll", + "lib/net45/System.Data.SqlClient.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Data.SqlClient.dll", + "native/win7/x64/sni.dll", + "native/win7/x86/sni.dll" + ] + }, + "System.Dynamic.Runtime/4.0.10-beta-22816": { + "sha512": "xPMym5hsntfLf/Gisnvk3t25TaZRvwDF46PaszRlB63WsDbAIUXgrsE4ob8ZKTL7+uyGW1HGwOBVlJCP/J1/hA==", + "files": [ + "License.rtf", + "System.Dynamic.Runtime.4.0.10-beta-22816.nupkg", + "System.Dynamic.Runtime.4.0.10-beta-22816.nupkg.sha512", + "System.Dynamic.Runtime.nuspec", + "lib/aspnetcore50/System.Dynamic.Runtime.dll", + "lib/contract/System.Dynamic.Runtime.dll", + "lib/net45/System.Dynamic.Runtime.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Dynamic.Runtime.dll" + ] + }, + "System.Globalization/4.0.10-beta-22816": { + "sha512": "Eq2937cdQH2G3qij5gZIJ47785OwLK/+AVjyHfJKnWyhAFWoaLnQOVtaXfMVkfvp4AW7eDVkqIv0fSoS6N2q0A==", + "files": [ + "License.rtf", + "System.Globalization.4.0.10-beta-22816.nupkg", + "System.Globalization.4.0.10-beta-22816.nupkg.sha512", + "System.Globalization.nuspec", + "lib/aspnetcore50/System.Globalization.dll", + "lib/contract/System.Globalization.dll", + "lib/net45/System.Globalization.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Globalization.dll" + ] + }, + "System.IO/4.0.10-beta-22816": { + "sha512": "/wVhoi2uVXw5IZFU+JrPlyVgKrtMPtzQaYQ3DKUxH9nqiX64BChTFGNDcwZK3iNWTIWESxJhj9JR3lbqbG/PIg==", + "files": [ + "License.rtf", + "System.IO.4.0.10-beta-22816.nupkg", + "System.IO.4.0.10-beta-22816.nupkg.sha512", + "System.IO.nuspec", + "lib/aspnetcore50/System.IO.dll", + "lib/contract/System.IO.dll", + "lib/net45/System.IO.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.IO.dll" + ] + }, + "System.Linq/4.0.0-beta-22816": { + "sha512": "zBGJfF48L17zFzfs/B8KI1yQklPul0af4a1auQTyUxjdy/HzppkIfoRgrq3yqV+YIPWDkUxu9U9bwjOj90xLXw==", + "files": [ + "License.rtf", + "System.Linq.4.0.0-beta-22816.nupkg", + "System.Linq.4.0.0-beta-22816.nupkg.sha512", + "System.Linq.nuspec", + "lib/aspnetcore50/System.Linq.dll", + "lib/contract/System.Linq.dll", + "lib/net45/System.Linq.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Linq.dll" + ] + }, + "System.Linq.Expressions/4.0.10-beta-22816": { + "sha512": "qTu/alZVoEBZRIrbLzVlFSndQyhIEXY+qoBockbsUu98TDtd1N9gYiyg7FHeW7Qx1vDGfz1PWfUlYBd4G/ZHkg==", + "files": [ + "License.rtf", + "System.Linq.Expressions.4.0.10-beta-22816.nupkg", + "System.Linq.Expressions.4.0.10-beta-22816.nupkg.sha512", + "System.Linq.Expressions.nuspec", + "lib/aspnetcore50/System.Linq.Expressions.dll", + "lib/contract/System.Linq.Expressions.dll", + "lib/net45/System.Linq.Expressions.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Linq.Expressions.dll" + ] + }, + "System.ObjectModel/4.0.10-beta-22816": { + "sha512": "Rtu5FLq7JTtignXiSEKx26Q01NHyoO3pTcYYdwF54kFC64VbHEcvs8b586JyVVpM7Wz0zBmdgHDrH9fv2MgeVw==", + "files": [ + "License.rtf", + "System.ObjectModel.4.0.10-beta-22816.nupkg", + "System.ObjectModel.4.0.10-beta-22816.nupkg.sha512", + "System.ObjectModel.nuspec", + "lib/aspnetcore50/System.ObjectModel.dll", + "lib/contract/System.ObjectModel.dll", + "lib/net45/System.ObjectModel.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.ObjectModel.dll" + ] + }, + "System.Reflection/4.0.10-beta-22816": { + "sha512": "vdH/6euCyI/0el+6baAh/pttTZyWDh/PfL2TebSri3+FvNkjIEcE4httMn7J/5Lqz+NMDcLP7wOlY4Aa5EazNg==", + "files": [ + "License.rtf", + "System.Reflection.4.0.10-beta-22816.nupkg", + "System.Reflection.4.0.10-beta-22816.nupkg.sha512", + "System.Reflection.nuspec", + "lib/aspnetcore50/System.Reflection.dll", + "lib/contract/System.Reflection.dll", + "lib/net45/System.Reflection.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.dll" + ] + }, + "System.Reflection.Emit/4.0.0-beta-22816": { + "sha512": "vokOs6tgY2cnTcpPSs/fVcY8bybU7nwQ3I9H3JVLpF7t/fN2MaiSEvwTxEHmiCgDQbH5D7mMpCVxu97Fj5zyzA==", + "files": [ + "License.rtf", + "System.Reflection.Emit.4.0.0-beta-22816.nupkg", + "System.Reflection.Emit.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Emit.nuspec", + "lib/aspnetcore50/System.Reflection.Emit.dll", + "lib/contract/System.Reflection.Emit.dll", + "lib/net45/System.Reflection.Emit.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Emit.dll" + ] + }, + "System.Reflection.Emit.ILGeneration/4.0.0-beta-22816": { + "sha512": "dMGaIL8QdIrp4aK5JkEFiUWdGixJtXDaIViszk0VZDzg1yL07+5DIJpbn3u77PQG2kqjG+kk3pyWFB3vLttVMQ==", + "files": [ + "License.rtf", + "System.Reflection.Emit.ILGeneration.4.0.0-beta-22816.nupkg", + "System.Reflection.Emit.ILGeneration.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Emit.ILGeneration.nuspec", + "lib/aspnetcore50/System.Reflection.Emit.ILGeneration.dll", + "lib/contract/System.Reflection.Emit.ILGeneration.dll", + "lib/net45/System.Reflection.Emit.ILGeneration.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Emit.ILGeneration.dll" + ] + }, + "System.Reflection.Emit.Lightweight/4.0.0-beta-22816": { + "sha512": "86ALfAR2qltFbss1KFm8e74JEM/Pmi1RaDfN+sB4E8wwqof7keUVI3HjA81fW3+YOH+HePYzw7m9bF4kd21OBw==", + "files": [ + "License.rtf", + "System.Reflection.Emit.Lightweight.4.0.0-beta-22816.nupkg", + "System.Reflection.Emit.Lightweight.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Emit.Lightweight.nuspec", + "lib/aspnetcore50/System.Reflection.Emit.Lightweight.dll", + "lib/contract/System.Reflection.Emit.Lightweight.dll", + "lib/net45/System.Reflection.Emit.Lightweight.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Emit.Lightweight.dll" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-22816": { + "sha512": "LXGxjPbmTit9COY1WKRG89Eya58UFVqebeNvGDCrX/c/72OP9XX00+wUUE34WFDioKeVBjofOySFdtKMVsDq1Q==", + "files": [ + "License.rtf", + "System.Reflection.Primitives.4.0.0-beta-22816.nupkg", + "System.Reflection.Primitives.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/aspnetcore50/System.Reflection.Primitives.dll", + "lib/contract/System.Reflection.Primitives.dll", + "lib/net45/System.Reflection.Primitives.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Reflection.TypeExtensions/4.0.0-beta-22816": { + "sha512": "VNe9Gt6E7jYfHWghPlX90EOkCL+q+7TAJHx4U7mJZMsxQmp/QrgEIcKCbG502/X/RUL4dqZkL/uG9QfOhDw/tg==", + "files": [ + "License.rtf", + "System.Reflection.TypeExtensions.4.0.0-beta-22816.nupkg", + "System.Reflection.TypeExtensions.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.TypeExtensions.nuspec", + "lib/aspnetcore50/System.Reflection.TypeExtensions.dll", + "lib/contract/System.Reflection.TypeExtensions.dll", + "lib/net45/_._", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.TypeExtensions.dll" + ] + }, + "System.Runtime/4.0.20-beta-22816": { + "sha512": "sDSJEmM6Q5O7Nn9XxHTrsEJ4bv4hsBdeTWjuvyzd9/u9ujl9AWa3q1XFLrdPZetILPOC1P0+1LOCq4kZcsKF5Q==", + "files": [ + "License.rtf", + "System.Runtime.4.0.20-beta-22816.nupkg", + "System.Runtime.4.0.20-beta-22816.nupkg.sha512", + "System.Runtime.nuspec", + "lib/aspnetcore50/System.Runtime.dll", + "lib/contract/System.Runtime.dll", + "lib/net45/System.Runtime.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-22816": { + "sha512": "VyMZA1a7c1j9lbSarndGwFLEpip5uhl3oZTjW2fR8Lte0lWKB8Aro8rRoEHsWd5vUd3/kYDOvIXvGpCKBMlW1g==", + "files": [ + "License.rtf", + "System.Runtime.Extensions.4.0.10-beta-22816.nupkg", + "System.Runtime.Extensions.4.0.10-beta-22816.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/aspnetcore50/System.Runtime.Extensions.dll", + "lib/contract/System.Runtime.Extensions.dll", + "lib/net45/System.Runtime.Extensions.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-22816": { + "sha512": "QDKTAvat7aDGMWnVkGm6tJvvmc2zSTa/p8M4/OEBBkZKNx4SGkeGEjFUhl7b6AXZ220m4dACygkiAVoB/LqMHw==", + "files": [ + "License.rtf", + "System.Text.Encoding.4.0.10-beta-22816.nupkg", + "System.Text.Encoding.4.0.10-beta-22816.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/aspnetcore50/System.Text.Encoding.dll", + "lib/contract/System.Text.Encoding.dll", + "lib/net45/System.Text.Encoding.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.CodePages/4.0.0-beta-22816": { + "sha512": "q52eEfAgtMfsNDbTetTX1EN337+2IyJTJH/DrRnFsdzfoyblYY/511USLsg4qmLriLS0kryXUZG3DzQsOfzt8Q==", + "files": [ + "License.rtf", + "System.Text.Encoding.CodePages.4.0.0-beta-22816.nupkg", + "System.Text.Encoding.CodePages.4.0.0-beta-22816.nupkg.sha512", + "System.Text.Encoding.CodePages.nuspec", + "lib/aspnetcore50/System.Text.Encoding.CodePages.dll", + "lib/contract/System.Text.Encoding.CodePages.dll", + "lib/net45/_._", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Text.Encoding.CodePages.dll" + ] + }, + "System.Text.RegularExpressions/4.0.10-beta-22816": { + "sha512": "f6reT2KQ1IjeAKeZEX5TSIFugrsmofjD3N+9HD4c2WAMFlEs4p4/ycsmS1bLlV7n+JRHsmUkhgpCVWMZYPk+aA==", + "files": [ + "License.rtf", + "System.Text.RegularExpressions.4.0.10-beta-22816.nupkg", + "System.Text.RegularExpressions.4.0.10-beta-22816.nupkg.sha512", + "System.Text.RegularExpressions.nuspec", + "lib/aspnetcore50/System.Text.RegularExpressions.dll", + "lib/contract/System.Text.RegularExpressions.dll", + "lib/net45/System.Text.RegularExpressions.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Text.RegularExpressions.dll" + ] + }, + "System.Threading/4.0.10-beta-22816": { + "sha512": "tNAZqIJaAhnHpiEJdvGby7EFfirhD3aX+FF6vQBnHrk+bWVv4yAQ3k/skF7FBJIhMozenT41/1QVVwtTSR3HOQ==", + "files": [ + "License.rtf", + "System.Threading.4.0.10-beta-22816.nupkg", + "System.Threading.4.0.10-beta-22816.nupkg.sha512", + "System.Threading.nuspec", + "lib/aspnetcore50/System.Threading.dll", + "lib/contract/System.Threading.dll", + "lib/net45/System.Threading.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-22816": { + "sha512": "e7TcoQuIPQ4bvkkCY2ulU8NFvj8XqYxsGpD3fAq1KajAlpx5j327Q13lKxlGPb7ouHQydKHCy5G1ZGuydb0DAA==", + "files": [ + "License.rtf", + "System.Threading.Tasks.4.0.10-beta-22816.nupkg", + "System.Threading.Tasks.4.0.10-beta-22816.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/aspnetcore50/System.Threading.Tasks.dll", + "lib/contract/System.Threading.Tasks.dll", + "lib/net45/System.Threading.Tasks.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Threading.Tasks.dll" + ] + }, + "System.Xml.ReaderWriter/4.0.10-beta-22816": { + "sha512": "G0aLPtC/phTfiJPwe0VA3tB3x8YFQ1dHFuE1xaHNr9eQm/AfBp4Pk+fn3s7ABJDus/T89EtIHQ9C+O6VmqXIQQ==", + "files": [ + "License.rtf", + "System.Xml.ReaderWriter.4.0.10-beta-22816.nupkg", + "System.Xml.ReaderWriter.4.0.10-beta-22816.nupkg.sha512", + "System.Xml.ReaderWriter.nuspec", + "lib/aspnetcore50/System.Xml.ReaderWriter.dll", + "lib/contract/System.Xml.ReaderWriter.dll", + "lib/net45/System.Xml.ReaderWriter.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Xml.ReaderWriter.dll" ] } }, @@ -60,8 +690,15 @@ ".NETFramework,Version=v4.5": [ "framework/System.Data >= 4.0.0.0" ], + ".NETFramework,Version=v4.0": [ + "framework/System.Data >= 4.0.0.0" + ], "DNX,Version=v4.5.1": [ "framework/System.Data >= 4.0.0.0" + ], + "DNXCore,Version=v5.0": [ + "System.Console >= 4.0.0-beta-*", + "System.Reflection >= 4.0.10-beta-*" ] } } \ No newline at end of file diff --git a/Dapper/Dapper.xproj b/Dapper/Dapper.xproj index 543e3ae..f33220d 100644 --- a/Dapper/Dapper.xproj +++ b/Dapper/Dapper.xproj @@ -14,6 +14,9 @@ Dapper + + Dapper + 2.0 diff --git a/Dapper/project.json b/Dapper/project.json index e5cddda..eac6663 100644 --- a/Dapper/project.json +++ b/Dapper/project.json @@ -1,12 +1,13 @@ { "authors": [ "Sam Saffron", "Marc Gravell" ], "description": "A high performance Micro-ORM supporting Sql Server, MySQL, Sqlite, SqlCE, Firebird etc..", - "version": "1.41-alpha", + "version": "1.41-beta", "compile": [ "../Dapper NET40/*.cs", "../Dapper NET45/*.cs" ], "frameworks": { "net45": { "compilationOptions": { "define": [ "ASYNC" ], "warningsAsErrors": true }, "dependencies": { + "System.Runtime": "4.0.20-beta-22816" }, "frameworkAssemblies": { "System.Data": "4.0.0.0" @@ -28,15 +29,25 @@ "System.Data": "4.0.0.0" } }, - //"dnxcore50": { - // "dependencies": { - // "System.Runtime": "4.0.20-beta-22716", - // "System.Data.Common": "4.0.0-beta-*", - // }, - // "frameworkAssemblies": { - - // // - // } - //} + "dnxcore50": { + "compilationOptions": { "define": [ ], "warningsAsErrors": true }, + "dependencies": { + "System.Text.RegularExpressions": "4.0.10-beta-*", + "System.Collections": "4.0.10-beta-*", + "System.Collections.Concurrent": "4.0.10-beta-*", + "System.Linq": "4.0.0-beta-*", + "System.Threading": "4.0.10-beta-*", + "Microsoft.CSharp": "4.0.0-beta-*", + "System.Reflection": "4.0.10-beta-*", + "System.Reflection.Emit": "4.0.0-beta-*", + "System.Reflection.Emit.ILGeneration": "4.0.0-beta-*", + "System.Reflection.Emit.Lightweight": "4.0.0-beta-*", + "System.Reflection.TypeExtensions": "4.0.0-beta-*", + "System.Data.Common": "4.0.0-beta-*", + "System.Data.SqlClient": "4.0.0-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*", + "System.Text.Encoding.CodePages": "4.0.0-beta-*" + } + } } } diff --git a/Dapper/project.lock.json b/Dapper/project.lock.json index 1b2b0d8..8e87596 100644 --- a/Dapper/project.lock.json +++ b/Dapper/project.lock.json @@ -3,76 +3,665 @@ "version": -9997, "targets": { ".NETFramework,Version=v4.5": { - "Dapper/1.41-alpha": { + "System.Runtime/4.0.20-beta-22816": { "frameworkAssemblies": [ - "System.Data", "mscorlib", "System", - "System.Core", - "Microsoft.CSharp" + "System.ComponentModel.Composition", + "System.Core" ], "compile": [ - "lib/net45/Dapper.dll" + "lib/net45/System.Runtime.dll" ], "runtime": [ - "lib/net45/Dapper.dll" + "lib/net45/System.Runtime.dll" ] } }, - ".NETFramework,Version=v4.0": { - "Dapper/1.41-alpha": { - "frameworkAssemblies": [ - "System.Data", - "mscorlib", - "System", - "System.Core", - "Microsoft.CSharp" + ".NETFramework,Version=v4.0": {}, + "DNX,Version=v4.5.1": {}, + "DNXCore,Version=v5.0": { + "Microsoft.CSharp/4.0.0-beta-22816": { + "dependencies": { + "System.Dynamic.Runtime": "4.0.10-beta-22816", + "System.Linq.Expressions": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/Microsoft.CSharp.dll" ], + "runtime": [ + "lib/aspnetcore50/Microsoft.CSharp.dll" + ] + }, + "System.Collections/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, "compile": [ - "lib/net40/Dapper.dll" + "lib/contract/System.Collections.dll" ], "runtime": [ - "lib/net40/Dapper.dll" + "lib/aspnetcore50/System.Collections.dll" ] - } - }, - "DNX,Version=v4.5.1": { - "Dapper/1.41-alpha": { - "frameworkAssemblies": [ - "System.Data", - "mscorlib", - "System", - "System.Core", - "Microsoft.CSharp" + }, + "System.Collections.Concurrent/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Collections.Concurrent.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Collections.Concurrent.dll" + ] + }, + "System.Data.Common/4.0.0-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Data.Common.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Data.Common.dll" + ] + }, + "System.Data.SqlClient/4.0.0-beta-22816": { + "dependencies": { + "System.Data.Common": "4.0.0-beta-22816", + "System.Globalization": "4.0.10-beta-22816", + "System.IO": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816", + "System.Xml.ReaderWriter": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Data.SqlClient.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Data.SqlClient.dll" + ] + }, + "System.Dynamic.Runtime/4.0.10-beta-22816": { + "dependencies": { + "System.Linq.Expressions": "4.0.10-beta-22816", + "System.ObjectModel": "4.0.10-beta-22816", + "System.Reflection": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Dynamic.Runtime.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Dynamic.Runtime.dll" + ] + }, + "System.Globalization/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Globalization.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Globalization.dll" + ] + }, + "System.IO/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Text.Encoding": "4.0.10-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.IO.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.IO.dll" + ] + }, + "System.Linq/4.0.0-beta-22816": { + "dependencies": { + "System.Collections": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Linq.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Linq.dll" + ] + }, + "System.Linq.Expressions/4.0.10-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Linq.Expressions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Linq.Expressions.dll" + ] + }, + "System.ObjectModel/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.ObjectModel.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.ObjectModel.dll" + ] + }, + "System.Reflection/4.0.10-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.dll" + ] + }, + "System.Reflection.Emit/4.0.0-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Reflection": "4.0.10-beta-22816", + "System.Reflection.Emit.ILGeneration": "4.0.0-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Emit.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Emit.dll" + ] + }, + "System.Reflection.Emit.ILGeneration/4.0.0-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Emit.ILGeneration.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Emit.ILGeneration.dll" + ] + }, + "System.Reflection.Emit.Lightweight/4.0.0-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Reflection.Emit.ILGeneration": "4.0.0-beta-22816", + "System.Reflection.Primitives": "4.0.0-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Emit.Lightweight.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Emit.Lightweight.dll" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.Primitives.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Reflection.TypeExtensions/4.0.0-beta-22816": { + "dependencies": { + "System.Reflection": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Reflection.TypeExtensions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Reflection.TypeExtensions.dll" + ] + }, + "System.Runtime/4.0.20-beta-22816": { + "compile": [ + "lib/contract/System.Runtime.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Runtime.Extensions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Text.Encoding.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.CodePages/4.0.0-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Text.Encoding": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Text.Encoding.CodePages.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Text.Encoding.CodePages.dll" + ] + }, + "System.Text.RegularExpressions/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Text.RegularExpressions.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Text.RegularExpressions.dll" + ] + }, + "System.Threading/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, + "compile": [ + "lib/contract/System.Threading.dll" ], + "runtime": [ + "lib/aspnetcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-22816": { + "dependencies": { + "System.Runtime": "4.0.20-beta-22816" + }, + "compile": [ + "lib/contract/System.Threading.Tasks.dll" + ], + "runtime": [ + "lib/aspnetcore50/System.Threading.Tasks.dll" + ] + }, + "System.Xml.ReaderWriter/4.0.10-beta-22816": { + "dependencies": { + "System.IO": "4.0.10-beta-22816", + "System.Runtime": "4.0.20-beta-22816", + "System.Text.Encoding": "4.0.10-beta-22816", + "System.Threading.Tasks": "4.0.10-beta-22816" + }, "compile": [ - "lib/dnx451/Dapper.dll" + "lib/contract/System.Xml.ReaderWriter.dll" ], "runtime": [ - "lib/dnx451/Dapper.dll" + "lib/aspnetcore50/System.Xml.ReaderWriter.dll" ] } } }, "libraries": { - "Dapper/1.41-alpha": { - "sha512": "dJPrw+E8nGHRydGRUddbjGUxQBR9w4d8ISLD8QM24FsRihEJjjlww+AFb77mK78qGFwkHAnpY2k8oZfpLR61gg==", - "files": [ - "Dapper.1.41-alpha.nupkg", - "Dapper.1.41-alpha.nupkg.sha512", - "Dapper.nuspec", - "lib/dnx451/Dapper.dll", - "lib/dnx451/Dapper.xml", - "lib/net40/Dapper.dll", - "lib/net40/Dapper.xml", - "lib/net45/Dapper.dll", - "lib/net45/Dapper.xml" + "Microsoft.CSharp/4.0.0-beta-22816": { + "sha512": "FGnaYvmoVLd0QTnOyHfm+C79a9CGqQAoh76Ix9++a4SdeaAB8PgpB2Vi/Uc5jcp491QvPyPQjtXCuhRfqWvNkw==", + "files": [ + "License.rtf", + "Microsoft.CSharp.4.0.0-beta-22816.nupkg", + "Microsoft.CSharp.4.0.0-beta-22816.nupkg.sha512", + "Microsoft.CSharp.nuspec", + "lib/aspnetcore50/Microsoft.CSharp.dll", + "lib/contract/Microsoft.CSharp.dll", + "lib/net45/_._", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/Microsoft.CSharp.dll" + ] + }, + "System.Collections/4.0.10-beta-22816": { + "sha512": "tkVBx0CH/Xunk18S9LvNzPRqbXdIzsHbcGRtePrZCNZ9EUNuXK0dzzUl5q0KUgsQmeyUCDSw+7mwyG/pDGSpAA==", + "files": [ + "License.rtf", + "System.Collections.4.0.10-beta-22816.nupkg", + "System.Collections.4.0.10-beta-22816.nupkg.sha512", + "System.Collections.nuspec", + "lib/aspnetcore50/System.Collections.dll", + "lib/contract/System.Collections.dll", + "lib/net45/System.Collections.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Collections.dll" + ] + }, + "System.Collections.Concurrent/4.0.10-beta-22816": { + "sha512": "IWT4zcq0JdzU5HvJuHZbBFIntFfjmKzkfPbUWw5gwbso5nejOfVSCiRgJmUmEex0R5oJN+sX8gSrJrofzoXrww==", + "files": [ + "License.rtf", + "System.Collections.Concurrent.4.0.10-beta-22816.nupkg", + "System.Collections.Concurrent.4.0.10-beta-22816.nupkg.sha512", + "System.Collections.Concurrent.nuspec", + "lib/aspnetcore50/System.Collections.Concurrent.dll", + "lib/contract/System.Collections.Concurrent.dll", + "lib/net45/System.Collections.Concurrent.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Collections.Concurrent.dll" + ] + }, + "System.Data.Common/4.0.0-beta-22816": { + "sha512": "S529QASzN//8c99JoII7mB3/HXDiEFghpdI0BX2l6wi+pl+tWszDEvLG3fTzitZiE9x5/TsaC9+PqffajhfGIg==", + "files": [ + "License.rtf", + "System.Data.Common.4.0.0-beta-22816.nupkg", + "System.Data.Common.4.0.0-beta-22816.nupkg.sha512", + "System.Data.Common.nuspec", + "lib/aspnetcore50/System.Data.Common.dll", + "lib/contract/System.Data.Common.dll", + "lib/net45/System.Data.Common.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Data.Common.dll" + ] + }, + "System.Data.SqlClient/4.0.0-beta-22816": { + "sha512": "HyCUhHjJ5iqsO9GtIqoulzPaJL7w9UeYMaazDhMbUQP1Yz2zalNQaFIV3ssFFEPmCVZwjeV+1zagDfoM0KahZQ==", + "files": [ + "License.rtf", + "System.Data.SqlClient.4.0.0-beta-22816.nupkg", + "System.Data.SqlClient.4.0.0-beta-22816.nupkg.sha512", + "System.Data.SqlClient.nuspec", + "lib/aspnetcore50/System.Data.SqlClient.dll", + "lib/contract/System.Data.SqlClient.dll", + "lib/net45/System.Data.SqlClient.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Data.SqlClient.dll", + "native/win7/x64/sni.dll", + "native/win7/x86/sni.dll" + ] + }, + "System.Dynamic.Runtime/4.0.10-beta-22816": { + "sha512": "xPMym5hsntfLf/Gisnvk3t25TaZRvwDF46PaszRlB63WsDbAIUXgrsE4ob8ZKTL7+uyGW1HGwOBVlJCP/J1/hA==", + "files": [ + "License.rtf", + "System.Dynamic.Runtime.4.0.10-beta-22816.nupkg", + "System.Dynamic.Runtime.4.0.10-beta-22816.nupkg.sha512", + "System.Dynamic.Runtime.nuspec", + "lib/aspnetcore50/System.Dynamic.Runtime.dll", + "lib/contract/System.Dynamic.Runtime.dll", + "lib/net45/System.Dynamic.Runtime.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Dynamic.Runtime.dll" + ] + }, + "System.Globalization/4.0.10-beta-22816": { + "sha512": "Eq2937cdQH2G3qij5gZIJ47785OwLK/+AVjyHfJKnWyhAFWoaLnQOVtaXfMVkfvp4AW7eDVkqIv0fSoS6N2q0A==", + "files": [ + "License.rtf", + "System.Globalization.4.0.10-beta-22816.nupkg", + "System.Globalization.4.0.10-beta-22816.nupkg.sha512", + "System.Globalization.nuspec", + "lib/aspnetcore50/System.Globalization.dll", + "lib/contract/System.Globalization.dll", + "lib/net45/System.Globalization.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Globalization.dll" + ] + }, + "System.IO/4.0.10-beta-22816": { + "sha512": "/wVhoi2uVXw5IZFU+JrPlyVgKrtMPtzQaYQ3DKUxH9nqiX64BChTFGNDcwZK3iNWTIWESxJhj9JR3lbqbG/PIg==", + "files": [ + "License.rtf", + "System.IO.4.0.10-beta-22816.nupkg", + "System.IO.4.0.10-beta-22816.nupkg.sha512", + "System.IO.nuspec", + "lib/aspnetcore50/System.IO.dll", + "lib/contract/System.IO.dll", + "lib/net45/System.IO.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.IO.dll" + ] + }, + "System.Linq/4.0.0-beta-22816": { + "sha512": "zBGJfF48L17zFzfs/B8KI1yQklPul0af4a1auQTyUxjdy/HzppkIfoRgrq3yqV+YIPWDkUxu9U9bwjOj90xLXw==", + "files": [ + "License.rtf", + "System.Linq.4.0.0-beta-22816.nupkg", + "System.Linq.4.0.0-beta-22816.nupkg.sha512", + "System.Linq.nuspec", + "lib/aspnetcore50/System.Linq.dll", + "lib/contract/System.Linq.dll", + "lib/net45/System.Linq.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Linq.dll" + ] + }, + "System.Linq.Expressions/4.0.10-beta-22816": { + "sha512": "qTu/alZVoEBZRIrbLzVlFSndQyhIEXY+qoBockbsUu98TDtd1N9gYiyg7FHeW7Qx1vDGfz1PWfUlYBd4G/ZHkg==", + "files": [ + "License.rtf", + "System.Linq.Expressions.4.0.10-beta-22816.nupkg", + "System.Linq.Expressions.4.0.10-beta-22816.nupkg.sha512", + "System.Linq.Expressions.nuspec", + "lib/aspnetcore50/System.Linq.Expressions.dll", + "lib/contract/System.Linq.Expressions.dll", + "lib/net45/System.Linq.Expressions.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Linq.Expressions.dll" + ] + }, + "System.ObjectModel/4.0.10-beta-22816": { + "sha512": "Rtu5FLq7JTtignXiSEKx26Q01NHyoO3pTcYYdwF54kFC64VbHEcvs8b586JyVVpM7Wz0zBmdgHDrH9fv2MgeVw==", + "files": [ + "License.rtf", + "System.ObjectModel.4.0.10-beta-22816.nupkg", + "System.ObjectModel.4.0.10-beta-22816.nupkg.sha512", + "System.ObjectModel.nuspec", + "lib/aspnetcore50/System.ObjectModel.dll", + "lib/contract/System.ObjectModel.dll", + "lib/net45/System.ObjectModel.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.ObjectModel.dll" + ] + }, + "System.Reflection/4.0.10-beta-22816": { + "sha512": "vdH/6euCyI/0el+6baAh/pttTZyWDh/PfL2TebSri3+FvNkjIEcE4httMn7J/5Lqz+NMDcLP7wOlY4Aa5EazNg==", + "files": [ + "License.rtf", + "System.Reflection.4.0.10-beta-22816.nupkg", + "System.Reflection.4.0.10-beta-22816.nupkg.sha512", + "System.Reflection.nuspec", + "lib/aspnetcore50/System.Reflection.dll", + "lib/contract/System.Reflection.dll", + "lib/net45/System.Reflection.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.dll" + ] + }, + "System.Reflection.Emit/4.0.0-beta-22816": { + "sha512": "vokOs6tgY2cnTcpPSs/fVcY8bybU7nwQ3I9H3JVLpF7t/fN2MaiSEvwTxEHmiCgDQbH5D7mMpCVxu97Fj5zyzA==", + "files": [ + "License.rtf", + "System.Reflection.Emit.4.0.0-beta-22816.nupkg", + "System.Reflection.Emit.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Emit.nuspec", + "lib/aspnetcore50/System.Reflection.Emit.dll", + "lib/contract/System.Reflection.Emit.dll", + "lib/net45/System.Reflection.Emit.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Emit.dll" + ] + }, + "System.Reflection.Emit.ILGeneration/4.0.0-beta-22816": { + "sha512": "dMGaIL8QdIrp4aK5JkEFiUWdGixJtXDaIViszk0VZDzg1yL07+5DIJpbn3u77PQG2kqjG+kk3pyWFB3vLttVMQ==", + "files": [ + "License.rtf", + "System.Reflection.Emit.ILGeneration.4.0.0-beta-22816.nupkg", + "System.Reflection.Emit.ILGeneration.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Emit.ILGeneration.nuspec", + "lib/aspnetcore50/System.Reflection.Emit.ILGeneration.dll", + "lib/contract/System.Reflection.Emit.ILGeneration.dll", + "lib/net45/System.Reflection.Emit.ILGeneration.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Emit.ILGeneration.dll" + ] + }, + "System.Reflection.Emit.Lightweight/4.0.0-beta-22816": { + "sha512": "86ALfAR2qltFbss1KFm8e74JEM/Pmi1RaDfN+sB4E8wwqof7keUVI3HjA81fW3+YOH+HePYzw7m9bF4kd21OBw==", + "files": [ + "License.rtf", + "System.Reflection.Emit.Lightweight.4.0.0-beta-22816.nupkg", + "System.Reflection.Emit.Lightweight.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Emit.Lightweight.nuspec", + "lib/aspnetcore50/System.Reflection.Emit.Lightweight.dll", + "lib/contract/System.Reflection.Emit.Lightweight.dll", + "lib/net45/System.Reflection.Emit.Lightweight.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Emit.Lightweight.dll" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-22816": { + "sha512": "LXGxjPbmTit9COY1WKRG89Eya58UFVqebeNvGDCrX/c/72OP9XX00+wUUE34WFDioKeVBjofOySFdtKMVsDq1Q==", + "files": [ + "License.rtf", + "System.Reflection.Primitives.4.0.0-beta-22816.nupkg", + "System.Reflection.Primitives.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/aspnetcore50/System.Reflection.Primitives.dll", + "lib/contract/System.Reflection.Primitives.dll", + "lib/net45/System.Reflection.Primitives.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Reflection.TypeExtensions/4.0.0-beta-22816": { + "sha512": "VNe9Gt6E7jYfHWghPlX90EOkCL+q+7TAJHx4U7mJZMsxQmp/QrgEIcKCbG502/X/RUL4dqZkL/uG9QfOhDw/tg==", + "files": [ + "License.rtf", + "System.Reflection.TypeExtensions.4.0.0-beta-22816.nupkg", + "System.Reflection.TypeExtensions.4.0.0-beta-22816.nupkg.sha512", + "System.Reflection.TypeExtensions.nuspec", + "lib/aspnetcore50/System.Reflection.TypeExtensions.dll", + "lib/contract/System.Reflection.TypeExtensions.dll", + "lib/net45/_._", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Reflection.TypeExtensions.dll" + ] + }, + "System.Runtime/4.0.20-beta-22816": { + "sha512": "sDSJEmM6Q5O7Nn9XxHTrsEJ4bv4hsBdeTWjuvyzd9/u9ujl9AWa3q1XFLrdPZetILPOC1P0+1LOCq4kZcsKF5Q==", + "files": [ + "License.rtf", + "System.Runtime.4.0.20-beta-22816.nupkg", + "System.Runtime.4.0.20-beta-22816.nupkg.sha512", + "System.Runtime.nuspec", + "lib/aspnetcore50/System.Runtime.dll", + "lib/contract/System.Runtime.dll", + "lib/net45/System.Runtime.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-22816": { + "sha512": "VyMZA1a7c1j9lbSarndGwFLEpip5uhl3oZTjW2fR8Lte0lWKB8Aro8rRoEHsWd5vUd3/kYDOvIXvGpCKBMlW1g==", + "files": [ + "License.rtf", + "System.Runtime.Extensions.4.0.10-beta-22816.nupkg", + "System.Runtime.Extensions.4.0.10-beta-22816.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/aspnetcore50/System.Runtime.Extensions.dll", + "lib/contract/System.Runtime.Extensions.dll", + "lib/net45/System.Runtime.Extensions.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-22816": { + "sha512": "QDKTAvat7aDGMWnVkGm6tJvvmc2zSTa/p8M4/OEBBkZKNx4SGkeGEjFUhl7b6AXZ220m4dACygkiAVoB/LqMHw==", + "files": [ + "License.rtf", + "System.Text.Encoding.4.0.10-beta-22816.nupkg", + "System.Text.Encoding.4.0.10-beta-22816.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/aspnetcore50/System.Text.Encoding.dll", + "lib/contract/System.Text.Encoding.dll", + "lib/net45/System.Text.Encoding.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.CodePages/4.0.0-beta-22816": { + "sha512": "q52eEfAgtMfsNDbTetTX1EN337+2IyJTJH/DrRnFsdzfoyblYY/511USLsg4qmLriLS0kryXUZG3DzQsOfzt8Q==", + "files": [ + "License.rtf", + "System.Text.Encoding.CodePages.4.0.0-beta-22816.nupkg", + "System.Text.Encoding.CodePages.4.0.0-beta-22816.nupkg.sha512", + "System.Text.Encoding.CodePages.nuspec", + "lib/aspnetcore50/System.Text.Encoding.CodePages.dll", + "lib/contract/System.Text.Encoding.CodePages.dll", + "lib/net45/_._", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Text.Encoding.CodePages.dll" + ] + }, + "System.Text.RegularExpressions/4.0.10-beta-22816": { + "sha512": "f6reT2KQ1IjeAKeZEX5TSIFugrsmofjD3N+9HD4c2WAMFlEs4p4/ycsmS1bLlV7n+JRHsmUkhgpCVWMZYPk+aA==", + "files": [ + "License.rtf", + "System.Text.RegularExpressions.4.0.10-beta-22816.nupkg", + "System.Text.RegularExpressions.4.0.10-beta-22816.nupkg.sha512", + "System.Text.RegularExpressions.nuspec", + "lib/aspnetcore50/System.Text.RegularExpressions.dll", + "lib/contract/System.Text.RegularExpressions.dll", + "lib/net45/System.Text.RegularExpressions.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Text.RegularExpressions.dll" + ] + }, + "System.Threading/4.0.10-beta-22816": { + "sha512": "tNAZqIJaAhnHpiEJdvGby7EFfirhD3aX+FF6vQBnHrk+bWVv4yAQ3k/skF7FBJIhMozenT41/1QVVwtTSR3HOQ==", + "files": [ + "License.rtf", + "System.Threading.4.0.10-beta-22816.nupkg", + "System.Threading.4.0.10-beta-22816.nupkg.sha512", + "System.Threading.nuspec", + "lib/aspnetcore50/System.Threading.dll", + "lib/contract/System.Threading.dll", + "lib/net45/System.Threading.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-22816": { + "sha512": "e7TcoQuIPQ4bvkkCY2ulU8NFvj8XqYxsGpD3fAq1KajAlpx5j327Q13lKxlGPb7ouHQydKHCy5G1ZGuydb0DAA==", + "files": [ + "License.rtf", + "System.Threading.Tasks.4.0.10-beta-22816.nupkg", + "System.Threading.Tasks.4.0.10-beta-22816.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/aspnetcore50/System.Threading.Tasks.dll", + "lib/contract/System.Threading.Tasks.dll", + "lib/net45/System.Threading.Tasks.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Threading.Tasks.dll" + ] + }, + "System.Xml.ReaderWriter/4.0.10-beta-22816": { + "sha512": "G0aLPtC/phTfiJPwe0VA3tB3x8YFQ1dHFuE1xaHNr9eQm/AfBp4Pk+fn3s7ABJDus/T89EtIHQ9C+O6VmqXIQQ==", + "files": [ + "License.rtf", + "System.Xml.ReaderWriter.4.0.10-beta-22816.nupkg", + "System.Xml.ReaderWriter.4.0.10-beta-22816.nupkg.sha512", + "System.Xml.ReaderWriter.nuspec", + "lib/aspnetcore50/System.Xml.ReaderWriter.dll", + "lib/contract/System.Xml.ReaderWriter.dll", + "lib/net45/System.Xml.ReaderWriter.dll", + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Xml.ReaderWriter.dll" ] } }, "projectFileDependencyGroups": { "": [], ".NETFramework,Version=v4.5": [ + "System.Runtime >= 4.0.20-beta-22816", "framework/System.Data >= 4.0.0.0" ], ".NETFramework,Version=v4.0": [ @@ -80,6 +669,23 @@ ], "DNX,Version=v4.5.1": [ "framework/System.Data >= 4.0.0.0" + ], + "DNXCore,Version=v5.0": [ + "System.Text.RegularExpressions >= 4.0.10-beta-*", + "System.Collections >= 4.0.10-beta-*", + "System.Collections.Concurrent >= 4.0.10-beta-*", + "System.Linq >= 4.0.0-beta-*", + "System.Threading >= 4.0.10-beta-*", + "Microsoft.CSharp >= 4.0.0-beta-*", + "System.Reflection >= 4.0.10-beta-*", + "System.Reflection.Emit >= 4.0.0-beta-*", + "System.Reflection.Emit.ILGeneration >= 4.0.0-beta-*", + "System.Reflection.Emit.Lightweight >= 4.0.0-beta-*", + "System.Reflection.TypeExtensions >= 4.0.0-beta-*", + "System.Data.Common >= 4.0.0-beta-*", + "System.Data.SqlClient >= 4.0.0-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*", + "System.Text.Encoding.CodePages >= 4.0.0-beta-*" ] } } \ No newline at end of file -- GitLab