Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Dapper
提交
a161cb5a
D
Dapper
项目概览
int
/
Dapper
11 个月 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dapper
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a161cb5a
编写于
5月 01, 2015
作者:
M
Marc Gravell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CoreCLR build / 1.41-beta
上级
1fc06af5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
1791 addition
and
154 deletion
+1791
-154
Dapper NET40/SqlMapper.cs
Dapper NET40/SqlMapper.cs
+432
-56
Dapper.DNX.Tests/Program.cs
Dapper.DNX.Tests/Program.cs
+7
-6
Dapper.DNX.Tests/project.json
Dapper.DNX.Tests/project.json
+16
-13
Dapper.DNX.Tests/project.lock.json
Dapper.DNX.Tests/project.lock.json
+665
-28
Dapper/Dapper.xproj
Dapper/Dapper.xproj
+3
-0
Dapper/project.json
Dapper/project.json
+22
-11
Dapper/project.lock.json
Dapper/project.lock.json
+646
-40
未找到文件。
Dapper NET40/SqlMapper.cs
浏览文件 @
a161cb5a
...
...
@@ -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
/// <returns>The typed value</returns>
object
Parse
(
Type
destinationType
,
object
value
);
}
#if !DNXCORE50
/// <summary>
/// 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
/// <summary>
/// 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
}
/// <summary>
...
...
@@ -736,7 +748,9 @@ static SqlMapper()
public
static
void
ResetTypeHandlers
()
{
typeHandlers
=
new
Dictionary
<
Type
,
ITypeHandler
>();
#if !DNXCORE50
AddTypeHandlerImpl
(
typeof
(
DataTable
),
new
DataTableHandler
(),
true
);
#endif
}
/// <summary>
/// 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<T>(TypeHandler<T> handler)
/// Not intended for direct usage
/// </summary>
[
Obsolete
(
"Not intended for direct usage"
,
false
)]
[
Browsable
(
false
),
EditorBrowsable
(
EditorBrowsableState
.
Never
)]
#if !DNXCORE50
[
Browsable
(
false
)]
#endif
[
EditorBrowsable
(
EditorBrowsableState
.
Never
)]
public
static
class
TypeHandlerCache
<
T
>
{
/// <summary>
...
...
@@ -862,7 +879,11 @@ internal static void SetHandler(ITypeHandler handler)
/// <summary>
/// Get the DbType that maps to a given value
/// </summary>
[
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
<
string
,
IDbDataParameter
>
parameters
=
new
Dictionary
<
string
,
IDbDataParameter
>(
StringComparer
.
InvariantCulture
);
Dictionary
<
string
,
IDbDataParameter
>
parameters
=
new
Dictionary
<
string
,
IDbDataParameter
>(
StringComparer
.
Ordinal
);
foreach
(
IDbDataParameter
param
in
cmd
.
Parameters
)
{
if
(!
string
.
IsNullOrEmpty
(
param
.
ParameterName
))
parameters
[
param
.
ParameterName
]
=
param
;
}
HashSet
<
string
>
consumed
=
new
HashSet
<
string
>(
StringComparer
.
InvariantCulture
);
HashSet
<
string
>
consumed
=
new
HashSet
<
string
>(
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)
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
[
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)
/// <summary>
/// Internal use only
/// </summary>
[
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)
/// <summary>
/// Internal use only
/// </summary>
[
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
/// <summary>
/// Internal use only
/// </summary>
[
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
(
Type
Extensions
.
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<LiteralToken> GetLiteralTokens(string sql)
if
(!
literalTokens
.
IsMatch
(
sql
))
return
LiteralToken
.
None
;
var
matches
=
literalTokens
.
Matches
(
sql
);
var
found
=
new
HashSet
<
string
>(
StringComparer
.
InvariantCulture
);
var
found
=
new
HashSet
<
string
>(
StringComparer
.
Ordinal
);
List
<
LiteralToken
>
list
=
new
List
<
LiteralToken
>(
matches
.
Count
);
foreach
(
Match
match
in
matches
)
{
...
...
@@ -2970,7 +3007,7 @@ internal static IList<LiteralToken> 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<LiteralToken> GetLiteralTokens(string sql)
bool
ok
=
true
;
for
(
int
i
=
0
;
i
<
propsArr
.
Length
;
i
++)
{
if
(!
string
.
Equals
(
propsArr
[
i
].
Name
,
ctorParams
[
i
].
Name
,
StringComparison
.
InvariantCulture
IgnoreCase
))
if
(!
string
.
Equals
(
propsArr
[
i
].
Name
,
ctorParams
[
i
].
Name
,
StringComparison
.
Ordinal
IgnoreCase
))
{
ok
=
false
;
break
;
...
...
@@ -3012,7 +3049,7 @@ internal static IList<LiteralToken> GetLiteralTokens(string sql)
props
=
propsArr
;
}
else
{
// might still all be accounted for; check the hard way
var
positionByName
=
new
Dictionary
<
string
,
int
>(
StringComparer
.
InvariantCulture
IgnoreCase
);
var
positionByName
=
new
Dictionary
<
string
,
int
>(
StringComparer
.
Ordinal
IgnoreCase
);
foreach
(
var
param
in
ctorParams
)
{
positionByName
[
param
.
Name
]
=
param
.
Position
;
...
...
@@ -3066,7 +3103,7 @@ internal static IList<LiteralToken> 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<LiteralToken> 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<LiteralToken> GetLiteralTokens(string sql)
for
(
int
i
=
0
;
i
<
propsArr
.
Length
;
i
++)
{
string
thisName
=
propsArr
[
i
].
Name
;
if
(
string
.
Equals
(
thisName
,
huntName
,
StringComparison
.
InvariantCulture
IgnoreCase
))
if
(
string
.
Equals
(
thisName
,
huntName
,
StringComparison
.
Ordinal
IgnoreCase
))
{
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<LiteralToken> 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
=
Type
Extensions
.
GetTypeCode
(
propType
);
switch
(
typeCode
)
{
case
TypeCode
.
Boolean
:
...
...
@@ -3287,7 +3324,7 @@ internal static IList<LiteralToken> 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<LiteralToken> 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
=>
Type
Extensions
.
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
).
Get
Method
(
"Replace"
,
BindingFlags
.
Instance
|
BindingFlags
.
Public
,
null
,
new
Type
[]
{
typeof
(
string
),
typeof
(
string
)
},
null
),
static
readonly
MethodInfo
StringReplace
=
typeof
(
string
).
Get
PublicInstanceMethod
(
"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
<
IDbCommand
,
object
>
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<T>(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
<
Type
,
ITypeMap
>
_typeMaps
=
new
Dictionary
<
Type
,
ITypeMap
>();
#else
private
static
readonly
Hashtable
_typeMaps
=
new
Hashtable
();
#endif
/// <summary>
/// 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
=
Type
Extensions
.
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
==
Type
Extensions
.
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
(
Type
Extensions
.
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
(
Type
Extensions
.
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
)
+
" - "
+
Type
Extensions
.
GetTypeCode
(
value
.
GetType
());
}
}
catch
(
Exception
valEx
)
...
...
@@ -4379,6 +4437,8 @@ public void Dispose()
}
}
#if !DNXCORE50
/// <summary>
/// Used to pass a DataTable as a TableValuedParameter
/// </summary>
...
...
@@ -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>(T target, Expression<Func<T, object>> 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>(T target, Expression<Func<T, object>> 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>(T target, Expression<Func<T, object>> express
var
lookup
=
string
.
Join
(
"|"
,
names
.
ToArray
());
var
cache
=
CachedOutputSetters
<
T
>.
Cache
;
var
setter
=
(
Action
<
object
,
DynamicParameters
>)
cache
[
lookup
];
Action
<
object
,
DynamicParameters
>
setter
;
#if DNXCORE50
lock
(
cache
)
{
#endif
setter
=
(
Action
<
object
,
DynamicParameters
>)
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>(T target, Expression<Func<T, object>> 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>(T target, Expression<Func<T, object>> 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>(T target, Expression<Func<T, object>> express
internal
static
class
CachedOutputSetters
<
T
>
{
#if DNXCORE50
public
static
readonly
Dictionary
<
string
,
Action
<
object
,
DynamicParameters
>>
Cache
=
new
Dictionary
<
string
,
Action
<
object
,
DynamicParameters
>>();
#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
/// <summary>
/// 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
/// </summary>
...
...
@@ -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
.
InvariantCulture
IgnoreCase
))
return
postgres
;
if
(
string
.
Equals
(
name
,
"npgsqlconnection"
,
StringComparison
.
Ordinal
IgnoreCase
))
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
<
PropertyInfo
>
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
/// <summary>
/// Describes a reader that controls the lifetime of both a command and a reader,
/// exposing the downstream command/reader as properties.
/// </summary>
public
abstract
class
WrappedDataReader
:
IDataReader
{
/// <summary>
/// Obtain the underlying reader
/// </summary>
public
abstract
IDataReader
Reader
{
get
;
}
/// <summary>
/// Obtain the underlying command
/// </summary>
public
abstract
IDbCommand
Command
{
get
;
}
}
#else
/// <summary>
/// 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
/// </summary>
IDbCommand
Command
{
get
;
}
}
#endif
/// <summary>
/// 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
<
Type
,
TypeCode
>
typeCodeLookup
=
new
Dictionary
<
Type
,
TypeCode
>
{
{
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
}
}
}
Dapper.DNX.Tests/Program.cs
浏览文件 @
a161cb5a
...
...
@@ -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
<
Foo
>(
"select @a as X"
,
new
{
a
=
123
}).
Result
.
Single
();
#endif
Console
.
WriteLine
(
row
.
X
);
}
}
private
static
async
Task
<
int
>
WithDelay
(
int
i
)
{
await
Task
.
Delay
(
100
);
return
i
;
}
class
Foo
{
public
int
X
{
get
;
set
;
}
...
...
Dapper.DNX.Tests/project.json
浏览文件 @
a161cb5a
...
...
@@ -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"
//
}
//
}
}
}
Dapper.DNX.Tests/project.lock.json
浏览文件 @
a161cb5a
...
...
@@ -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.Co
re
"
,
"
Microsoft.CSharp
"
"System.Co
mponentModel.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
Dapper/Dapper.xproj
浏览文件 @
a161cb5a
...
...
@@ -14,6 +14,9 @@
<PropertyGroup
Label=
"Configuration"
Condition=
"'$(Configuration)|$(Platform)'=='Release|AnyCPU'"
>
<AssemblyName>
Dapper
</AssemblyName>
</PropertyGroup>
<PropertyGroup
Label=
"Configuration"
Condition=
"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"
>
<AssemblyName>
Dapper
</AssemblyName>
</PropertyGroup>
<PropertyGroup>
<SchemaVersion>
2.0
</SchemaVersion>
</PropertyGroup>
...
...
Dapper/project.json
浏览文件 @
a161cb5a
{
"authors"
:
[
"Sam Saffron"
,
"Marc Gravell"
],
"description"
:
"A high performance Micro-ORM supporting Sql Server, MySQL, Sqlite, SqlCE, Firebird etc.."
,
"version"
:
"1.41-
alph
a"
,
"version"
:
"1.41-
bet
a"
,
"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-*"
}
}
}
}
Dapper/project.lock.json
浏览文件 @
a161cb5a
...
...
@@ -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.Co
re
"
,
"
Microsoft.CSharp
"
"System.Co
mponentModel.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/Dapp
er.dll"
"lib/
contract/System.Xml.ReaderWrit
er.dll"
],
"runtime"
:
[
"lib/
dnx451/Dapp
er.dll"
"lib/
aspnetcore50/System.Xml.ReaderWrit
er.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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录