diff --git a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/.paket/Paket.Restore.targets b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/.paket/Paket.Restore.targets
new file mode 100644
index 00000000000..87814bb747e
--- /dev/null
+++ b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/.paket/Paket.Restore.targets
@@ -0,0 +1,42 @@
+
+
+
+ true
+ $(MSBuildThisFileDirectory)
+ /Library/Frameworks/Mono.framework/Commands/mono
+ mono
+
+ $(PaketRootPath)paket.exe
+ $(PaketToolsPath)paket.exe
+ "$(PaketExePath)"
+ $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"
+
+
+
+
+
+
+
+ $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).references
+
+
+
+
+
+
+
+
+ $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])
+ $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])
+
+
+ %(PaketReferencesFileLinesInfo.PackageVersion)
+
+
+
+
+ $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).NuGet.Config
+
+
+
+
\ No newline at end of file
diff --git a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/.paket/paket.targets b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/.paket/paket.targets
new file mode 100644
index 00000000000..22c9f0a87aa
--- /dev/null
+++ b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/.paket/paket.targets
@@ -0,0 +1,38 @@
+
+
+
+
+ true
+
+ true
+ $(MSBuildThisFileDirectory)
+ $(MSBuildThisFileDirectory)..\
+
+
+
+ $(PaketToolsPath)paket.exe
+ $(PaketToolsPath)paket.bootstrapper.exe
+ "$(PaketExePath)"
+ mono --runtime=v4.0.30319 $(PaketExePath)
+ "$(PaketBootStrapperExePath)"
+ mono --runtime=v4.0.30319 $(PaketBootStrapperExePath)
+
+ $(MSBuildProjectDirectory)\paket.references
+ $(MSBuildProjectFullPath).paket.references
+ $(PaketCommand) restore --references-files "$(PaketReferences)"
+ $(PaketBootStrapperCommand)
+
+ RestorePackages; $(BuildDependsOn);
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/script.fsx b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/script.fsx
index 6bd5a598256..3e96b3625fa 100644
--- a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/script.fsx
+++ b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/script.fsx
@@ -1,14 +1,164 @@
-#r "type_passing_tp/bin/Debug/type_passing_tp.dll"
+#r "../../../../../../Debug/net40/bin/type_passing_tp.dll"
+open FSharp.Reflection
open Test
type MyRecord =
{ Id: string }
- member x.TestInstanceMember(y:string) = y
- static member TestStaticMember(y:string) = y
+ member x.TestInstanceProperty = 1
+ member x.TestInstanceMethod(y:string) = y
+ static member TestStaticMethod(y:string) = y
+ static member TestStaticProperty = 2
-type Test = TypePassing.TypePassingTP
+type MyUnion =
+ | A of int
+ | B of string
+ member x.TestInstanceProperty = 1
+ member x.TestInstanceMethod(y:string) = y
+ static member TestStaticMethod(y:string) = y
+ static member TestStaticProperty = 2
-type Test2 = TypePassing.TypePassingTP
-type Test3 = TypePassing.TypePassingTP
+let mutable failures = []
+
+let check nm v1 v2 =
+ if v1 = v2 then printfn "%s: PASSED" nm
+ else
+ failures <- failures @ [nm]
+ printfn "\n*** %s: FAILED, expected %A, got %A\n" nm v2 v1
+
+let inaccurate nm v1 v2 v3 =
+ if v1 = v2 then printfn "%s: PASSED (was failing, now passing)" nm
+ elif v1 = v3 then printfn "%s: PASSED (inaccurate), expected %A, allowing %A" nm v2 v1
+ else
+ failures <- failures @ [nm]
+ printfn "\n*** %s: FAILED, expected %A, got %A, would have accepted %A\n" nm v2 v1 v3
+
+// Check an F# record type from this assembly
+module MyRecord =
+ let T = typeof
+ type S = TypePassing.Summarize
+ check "cnkewcwpo1" S.Name T.Name
+ inaccurate "cnkewcwpo2" S.Assembly_DefinedTypes_Count (Seq.length T.Assembly.DefinedTypes) 0 // INACCURACY: this is wrong value, not sure why
+ inaccurate "cnkewcwpo3" S.Assembly_FullName T.FullName "script" // INACCURACY: the full name is not returned
+ check "cnkewcwpo3" S.IsAbstract T.IsAbstract
+ check "cnkewcwpo3" S.IsAnsiClass T.IsAnsiClass
+ check "cnkewcwpo3" S.IsArray T.IsArray
+ check "cnkewcwpo4" S.IsClass T.IsClass
+ inaccurate "cnkewcwpo5a" S.IsPublic T.IsPublic true // INACCURACY: This should report "false", and IsNestedPublic should report "true"
+ inaccurate "cnkewcwpo5b" S.IsNestedPublic T.IsNestedPublic false // INACCURACY: This should report "true", and IsPublic should report "false"
+ check "cnkewcwpo6" S.IsNotPublic T.IsNotPublic
+ check "cnkewcwpo7" S.IsValueType T.IsValueType
+ check "cnkewcwpo8" S.IsInterface T.IsInterface
+ inaccurate "cnkewcwpo9" S.IsRecord (FSharpType.IsRecord(T)) false // INACCURACY: Getting FSharp.Core reflection to give the right answer here is a tricky as it looks for attributes that aren't in the TAST
+ check "cnkewcwpo10" S.IsFunction (FSharpType.IsFunction(T))
+ check "cnkewcwpo11" S.IsModule (FSharpType.IsModule(T))
+ check "cnkewcwpo12" S.IsExceptionRepresentation (FSharpType.IsExceptionRepresentation(T))
+ check "cnkewcwpo13" S.IsTuple (FSharpType.IsTuple(T))
+ check "cnkewcwpo14" S.IsUnion (FSharpType.IsUnion(T))
+ inaccurate "cnkewcwpo15" S.GetPublicProperties_Length (T.GetProperties().Length) 2 // INACCURACY: this should also report the properties for the F# record fields (which are not in the TAST unfortunately)
+ inaccurate "cnkewcwpo16" S.GetPublicConstructors_Length (T.GetConstructors().Length) 0 // INACCURACY: this should also report the constructor for the F# record type
+ inaccurate "cnkewcwpo17" S.GetPublicMethods_Length (T.GetMethods().Length) 4 // INACCURACY: like GetProperties, this should report the getter methods for the properties for the F# record fields (which are not in the TAST unfortunately)
+#if CURRENTLY_GIVES_COMPILATION_ERROR_NEED_TO_CHECK_IF_EXPECTED
+ check "cnkewcwpo18" S.Assembly_EntryPoint_isNull true
+ check "cnkewcwpo19" S.GUID ""
+ check "cnkewcwpo20" (try S.Assembly_CodeBase; false with _ -> true) true
+ check "cnkewcwpo21" S.Assembly_CustomAttributes_Count 0
+#endif
+ // TODO: rest of System.Type properties and methods
+ // TODO: reset of FSharp Reflection methods
+
+
+// Check an F# record type from this assembly
+module MyUnion =
+ let T = typeof
+ type S = TypePassing.Summarize
+ check "unkewcwpo1" S.Name T.Name
+ inaccurate "unkewcwpo2" S.Assembly_DefinedTypes_Count (Seq.length T.Assembly.DefinedTypes) 0 // INACCURACY: this is wrong value, not sure why
+ inaccurate "unkewcwpo3" S.Assembly_FullName T.FullName "script" // INACCURACY: the full name is not returned
+ inaccurate "unkewcwpo3a" S.IsAbstract T.IsAbstract false // INACCURACY: reports "false", but "true" is expected for the base class of a union type (but depends on representation of union etc.)
+ inaccurate "unkewcwpo3b" S.IsAnsiClass T.IsAnsiClass true // INACCURACY: reports "true", but "false" is expected, not at all important though
+ check "unkewcwpo3c" S.IsArray T.IsArray
+ check "unkewcwpo4" S.IsClass T.IsClass
+ inaccurate "unkewcwpo5a" S.IsPublic T.IsPublic true // INACCURACY: This should report "false", and IsNestedPublic should report "true"
+ inaccurate "unkewcwpo5b" S.IsNestedPublic T.IsNestedPublic false // INACCURACY: This should report "true", and IsPublic should report "false"
+ check "unkewcwpo6" S.IsNotPublic T.IsNotPublic
+ check "unkewcwpo7" S.IsValueType T.IsValueType
+ check "unkewcwpo8" S.IsInterface T.IsInterface
+ check "unkewcwpo9" S.IsRecord (FSharpType.IsRecord(T))
+ check "unkewcwpo10" S.IsFunction (FSharpType.IsFunction(T))
+ check "unkewcwpo11" S.IsModule (FSharpType.IsModule(T))
+ check "unkewcwpo12" S.IsExceptionRepresentation (FSharpType.IsExceptionRepresentation(T))
+ check "unkewcwpo13" S.IsTuple (FSharpType.IsTuple(T))
+ inaccurate "unkewcwpo14" S.IsUnion (FSharpType.IsUnion(T)) false // INACCURACY: Getting FSharp.Core reflection to give the right answer here is a tricky as it looks for attributes that aren't in the TAST
+ inaccurate "unkewcwpo15" S.GetPublicProperties_Length (T.GetProperties().Length) 2 // INACCURACY: this should also report the properties for the F# record fields (which are not in the TAST unfortunately)
+ check "unkewcwpo16" S.GetPublicConstructors_Length (T.GetConstructors().Length) 0
+ inaccurate "unkewcwpo17" S.GetPublicMethods_Length (T.GetMethods().Length) 4 // INACCURACY: like GetProperties, this should report the getter methods for the properties for the F# record fields (which are not in the TAST unfortunately)
+#if CURRENTLY_GIVES_COMPILATION_ERROR_NEED_TO_CHECK_IF_EXPECTED
+ check "unkewcwpo18" S.Assembly_EntryPoint_isNull true
+ check "unkewcwpo19" S.GUID ""
+ check "unkewcwpo20" (try S.Assembly_CodeBase; false with _ -> true) true
+ check "unkewcwpo21" S.Assembly_CustomAttributes_Count 0
+#endif
+ // TODO: rest of System.Type properties and methods
+ // TODO: reset of FSharp Reflection methods
+
+
+
+// Check a .NET interface from a system assembly
+module IComparable =
+ let T = typeof
+ type S = TypePassing.Summarize
+ check "inkewcwpo1i1" S.Name T.Name
+ check "inkewcwpo1i2" S.FullName T.FullName
+ check "inkewcwpo1i3" S.IsInterface T.IsInterface
+ check "inkewcwpo1i4" S.IsClass T.IsClass
+ check "inkewcwpo1i4" S.IsValueType T.IsValueType
+ check "inkewcwpo2i5" S.Assembly_FullName T.Assembly.FullName
+
+#if CURRENTLY_GIVES_COMPILATION_ERROR_NEED_TO_CHECK_IF_EXPECTED
+ check "inkewcwpo3i" S.Assembly_DefinedTypes_Count 0
+ check "inkewcwpo4i" S.Assembly_EntryPoint_isNull true
+ check "inkewcwpo5i" S.GUID ""
+ check "inkewcwpo6i" (try S.Assembly_CodeBase; false with _ -> true) true
+ check "inkewcwpo7i" S.Assembly_CustomAttributes_Count 0
+#endif
+
+
+
+// Check a .NET primitive struct type from a system assembly
+module Int32 =
+ let T = typeof
+ type S = TypePassing.Summarize
+ check "vnkewcwpo1v" S.Name T.Name
+ check "vnkewcwpo2v" S.FullName T.FullName
+ check "vnkewcwpo1i3" S.IsInterface T.IsInterface
+ check "vnkewcwpo1i4" S.IsClass T.IsClass
+ check "vnkewcwpo1i4" S.IsValueType T.IsValueType
+ check "vnkewcwpo3v" S.Assembly_FullName T.Assembly.FullName
+
+#if CURRENTLY_GIVES_COMPILATION_ERROR_NEED_TO_CHECK_IF_EXPECTED
+ check "vnkewcwpo4v" S.Assembly_DefinedTypes_Count 0
+#endif
+
+module int32_abbreviation =
+ let T = typeof
+ type S = TypePassing.Summarize
+ check "ankewcwpo1" S.Name T.Name
+ check "ankewcwpo1" S.FullName T.FullName
+ check "ankewcwpo1i3" S.IsInterface T.IsInterface
+ check "ankewcwpo1i4" S.IsClass T.IsClass
+ check "ankewcwpo1i4" S.IsValueType T.IsValueType
+ check "ankewcwpo3" S.Assembly_FullName T.Assembly.FullName
+
+#if CURRENTLY_GIVES_COMPILATION_ERROR_NEED_TO_CHECK_IF_EXPECTED
+ check "ankewcwpo3" S.Assembly_DefinedTypes_Count 0
+#endif
+
+
+if failures.Length > 0 then
+ printfn "FAILURES: %A" failures
+ exit 1
+else
+ printfn "TEST PASSED (with some inaccuracies)"
+ exit 0
diff --git a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fs b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fs
index 0055f711f04..f6b9cb77517 100644
--- a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fs
+++ b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fs
@@ -3,7 +3,6 @@ namespace Test
open System
open System.Reflection
open Microsoft.FSharp.Core.CompilerServices
-open Microsoft.FSharp.Quotations
open ProviderImplementation.ProvidedTypes
@@ -16,10 +15,50 @@ type TypePassingTp(config: TypeProviderConfig) as this =
let createTypes (ty:Type) typeName =
let rootType = ProvidedTypeDefinition(runtimeAssembly,ns,typeName,baseType= (Some typeof), HideObjectMethods=true)
- rootType.AddMember(ProvidedProperty(ty.Name, typeof, GetterCode = fun args -> <@@ obj() @@> ))
+ rootType.AddMember(ProvidedProperty("Name", typeof, GetterCode = (fun args -> let v = ty.Name in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("FullName", typeof, GetterCode = (fun args -> let v = ty.FullName in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("AssemblyQualifiedName", typeof, GetterCode = (fun args -> let v = ty.AssemblyQualifiedName in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsAbstract", typeof, GetterCode = (fun args -> let v = ty.IsAbstract in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsAnsiClass", typeof, GetterCode = (fun args -> let v = ty.IsAnsiClass in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsArray", typeof, GetterCode = (fun args -> let v = ty.IsArray in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsAutoClass", typeof, GetterCode = (fun args -> let v = ty.IsAutoClass in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsAutoLayout", typeof, GetterCode = (fun args -> let v = ty.IsAutoLayout in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsByRef", typeof, GetterCode = (fun args -> let v = ty.IsByRef in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsClass", typeof, GetterCode = (fun args -> let v = ty.IsClass in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsValueType", typeof, GetterCode = (fun args -> let v = ty.IsValueType in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsInterface", typeof, GetterCode = (fun args -> let v = ty.IsInterface in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsGenericParameter", typeof, GetterCode = (fun args -> let v = ty.IsGenericParameter in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsNested", typeof, GetterCode = (fun args -> let v = ty.IsNested in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsNestedPublic", typeof, GetterCode = (fun args -> let v = ty.IsNestedPublic in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsPublic", typeof, GetterCode = (fun args -> let v = ty.IsPublic in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsNotPublic", typeof, GetterCode = (fun args -> let v = ty.IsNotPublic in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsSealed", typeof, GetterCode = (fun args -> let v = ty.IsSealed in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsRecord", typeof, GetterCode = (fun args -> let v = Reflection.FSharpType.IsRecord(ty) in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsFunction", typeof, GetterCode = (fun args -> let v = Reflection.FSharpType.IsFunction(ty) in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsModule", typeof, GetterCode = (fun args -> let v = Reflection.FSharpType.IsModule(ty) in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsExceptionRepresentation", typeof, GetterCode = (fun args -> let v = Reflection.FSharpType.IsExceptionRepresentation(ty) in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsTuple", typeof, GetterCode = (fun args -> let v = Reflection.FSharpType.IsTuple(ty) in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("IsUnion", typeof, GetterCode = (fun args -> let v = Reflection.FSharpType.IsUnion(ty) in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("GetPublicProperties_Length", typeof, GetterCode = (fun args -> let v = ty.GetProperties().Length in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("GetPublicConstructors_Length", typeof, GetterCode = (fun args -> let v = ty.GetConstructors().Length in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("GetPublicMethods_Length", typeof, GetterCode = (fun args -> let v = ty.GetMethods().Length in <@@ v @@> ), IsStatic=true))
+
+ // Raises error is used in program
+ rootType.AddMember(ProvidedProperty("Assembly_CodeBase", typeof, GetterCode = (fun args -> let v = ty.Assembly.CodeBase in <@@ v @@> ), IsStatic=true))
+
+ // Raises error is used in program
+ rootType.AddMember(ProvidedProperty("Assembly_CustomAttributes_Count", typeof, GetterCode = (fun args -> let v = Seq.length ty.Assembly.CustomAttributes in <@@ v @@> ), IsStatic=true))
+
+ // Always returns 0
+ rootType.AddMember(ProvidedProperty("Assembly_DefinedTypes_Count", typeof, GetterCode = (fun args -> let v = Seq.length ty.Assembly.DefinedTypes in <@@ v @@> ), IsStatic=true))
+
+ rootType.AddMember(ProvidedProperty("Assembly_FullName", typeof, GetterCode = (fun args -> let v = ty.Assembly.FullName in <@@ v @@> ), IsStatic=true))
+ rootType.AddMember(ProvidedProperty("Assembly_EntryPoint_isNull", typeof, GetterCode = (fun args -> let v = isNull ty.Assembly.EntryPoint in <@@ v @@> ), IsStatic=true))
+ // TODO - more here
+ rootType.AddMember(ProvidedProperty("GUID", typeof, GetterCode = (fun args -> let v = ty.GUID.ToString() in <@@ v @@> ), IsStatic=true))
rootType
- let paramType = ProvidedTypeDefinition(runtimeAssembly, ns, "TypePassingTP", Some(typeof), HideObjectMethods = true)
+ let paramType = ProvidedTypeDefinition(runtimeAssembly, ns, "Summarize", Some(typeof), HideObjectMethods = true)
do paramType.DefineStaticParameters(
[
diff --git a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fsproj b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fsproj
index ead6aa18982..e0c97661235 100644
--- a/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fsproj
+++ b/tests/fsharp/typeProviders/samples/TypePassing/Erasing/type_passing_tp.fsproj
@@ -1,6 +1,10 @@
+
+ $(MSBuildProjectDirectory)\..\..\..\..\..\..\src
+
+
Debug
AnyCPU
@@ -9,9 +13,7 @@
Library
type_passing_tp
type_passing_tp
- v4.6.1
true
- 4.4.0.0
type_passing_tp
@@ -33,696 +35,21 @@
3
bin\$(Configuration)\$(AssemblyName).XML
+
+
+ {DED3BBD7-53F4-428A-8C9F-27968E768605}
+ FSharp.Core
+
-
-
+
+
-
- 14
-
-
-
-
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
-
-
-
-
- $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets
-
-
-
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\net20\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\net40\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\net45\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\netstandard1.6\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\portable-net45+monoandroid10+monotouch10+xamarinios10\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Console\ref\netstandard1.3\System.Console.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.IO\lib\net462\System.IO.dll
- True
- True
-
-
-
-
-
-
- ..\packages\System.IO\ref\netstandard1.0\System.IO.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.IO\ref\netstandard1.3\System.IO.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.IO\ref\netstandard1.5\System.IO.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Linq.Queryable\lib\netstandard1.3\System.Linq.Queryable.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Reflection\lib\net462\System.Reflection.dll
- True
- True
-
-
-
-
-
-
- ..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
- True
- True
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
- True
-
-
- ..\packages\System.Runtime\lib\net462\System.Runtime.dll
- True
- True
-
-
-
-
-
-
- ..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
- False
- True
-
-
-
-
-
-
- ..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Threading.Thread\lib\netstandard1.3\System.Threading.Thread.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll
- True
- True
-
-
-
-
-
-
- ..\packages\System.ValueTuple\lib\portable-net40+sl4+win8+wp8\System.ValueTuple.dll
- True
- True
-
-
-
-
\ No newline at end of file