.NET Core 3.0 is representing a major step for the .NET community. It is interesting to analyze what’s new in the API directly from the compiled bits. In this post I will first explain how to diff .NET Core 3.0 against .NET Core 2.2 with NDepend, and then how to browse diff results.
Arguably the biggest progress of .NET Core 3.0 will be the support for Winforms and WPF on the Windows platform. Since everything is new here, compare to .NET Core 2.2, we won’t analyze this part. However it will be interesting to analyze .NET Fx Winforms/WPF APIs vs .NET Core 3.0 Winforms/WPF APIs in another post (that I finally wrote here).
Analyzing two versions of .NET Core with NDepend
It takes a few minutes to download NDepend trial, install it and start VisualNDepend.exe, and it takes a few minutes to compare .NET Core 3.0 against .NET Core 2.2. If you want to browse the diff on your machine, expect 5 to 10 minutes to get hands-on.
First Start VisualNDepend.exe and click Compare 2 versions of a code base:
For both builds, choose Add Assemblies in Folder:
- Choose C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.2 for Older Build
- Choose C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.0-preview-27324-5 for Newer Build
Respectively 156 and 161 assemblies are gathered. Click Ok to run two analysis, on older and newer build. Both analysis results will be then diffed automatically.
Querying new API
Let’s start with a few CQLinq code queries to explore the new .NET Core 3.0 APIs:
This query match all new public code elements, including new assemblies, namespace, types, methods and fields:
1 2 3 4 |
from x in Application.CodeElements where x.WasAdded() && (!x.IsTypeOrMember || x.AsTypeOrMember.IsPubliclyVisible) select x |
Use the NDepend query result to browse this large new API set : 5 new assemblies, 83 new namespaces, 297 new types, 4 924 new methods and 307 new fields. Note that code elements with pink background are not matched by the query, they are just here for preserving the code hierarchy in the result:
Download here this long list obtained by exporting the query result to excel. For a better result formatting I actually used this refined query to show properly parent assemblies/namespaces/types in excel columns:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
from x in Application.CodeElements where x.WasAdded() && (!x.IsTypeOrMember || x.AsTypeOrMember.IsPubliclyVisible) select new { x, Assembly = x.IsAssembly ? x.Name : x.IsNamespace ? x.Parent.Name : x.AsTypeOrMember.ParentAssembly.Name, Namespace = x.IsAssembly ? " " : x.IsNamespace ? x.Name: x.AsTypeOrMember.ParentNamespace.Name, Type = x.IsAssembly ? " " : x.IsNamespace ? " " : x.IsType ? x.Name: x.AsMember.ParentType.Name, Member = x.IsMember ? x.Name : " " } |
It is interesting to just focus on the 297 new public types with the code query below. Download the list here or browse the same list at the end of this post.
1 2 3 |
from t in Application.Types where t.IsPubliclyVisible && t.WasAdded() select t |
It is also interesting to browse the new 1.101 public methods and 38 public fields added on public types that existed already in .NET Core 2.2. Download this list here.
1 2 3 4 5 |
from m in Application.Members where m.IsPubliclyVisible && m.WasAdded() && !m.ParentType.WasAdded() select new { m } |
API Breaking Changes
NDepend proposes 6 default rules to browse API breaking changes.
These rules matche 19 public types removed from .NET Core 2.2 (see list below) 176 public methods removed and 36 public fields removed
Listing Methods Changed
Exploring the API evolution is useful for API consumers. For those working on the framework .NET Core itself, it is interesting to also browse implementation changes. The NDepend search by change panel proposes various options for that. Note that this search panel is actually a code query generator. The Edit query button proposes to edit and refine the currently generated query.
Another interesting point is that it is a semantic implementation change. All matched methods do behave differently at runtime. This makes this tool ideal to plan code change review without bothering with formatting and comments change.
Matched code elements can be highlighted in the metric view. From the screenshot above we can see at a glance that System.Xml and System.Data are much more stable than System.RunTime for example. By zooming in the view, we can get more information about which code was churned.
In the query result panel, a code element is underlined when its implementation changed. If you have compiled both source versions on your machine and analyzed those compiled versions, you can right click an underlined method and directly compare the diff in source code.
I hope you see value both in the results offered and in the how-to-diff procedure that can be applied to any .NET code base, assuming you have 2 versions to compare.
New .NET Core 3.0 types
Here is the list of the 297 new types added to .NET Core 3.0.
ParentAssembly | Full Name |
WindowsBase | System.Windows.Markup .ValueSerializerAttribute |
System.Xml.Linq | System.Xml.XPath.XDocumentExtensions |
System.Threading.ThreadPool | System.Threading.IThreadPoolWorkItem |
System.Threading.Tasks | System.Runtime.CompilerServices .AsyncIteratorMethodBuilder |
System.Threading.Tasks | System.Runtime.CompilerServices .ConfiguredCancelableAsyncEnumerable<T> |
System.Text.Json | System.Text.Json.JsonCommentHandling |
System.Text.Json | System.Text.Json.JsonTokenType |
System.Text.Json | System.Text.Json.JsonDocument |
System.Text.Json | System.Text.Json.JsonElement |
System.Text.Json | System.Text.Json .JsonElement+ArrayEnumerator |
System.Text.Json | System.Text.Json .JsonElement+ObjectEnumerator |
System.Text.Json | System.Text.Json.JsonProperty |
System.Text.Json | System.Text.Json.JsonValueType |
System.Text.Json | System.Text.Json.JsonReaderException |
System.Text.Json | System.Text.Json.JsonReaderOptions |
System.Text.Json | System.Text.Json.JsonReaderState |
System.Text.Json | System.Text.Json.Utf8JsonReader |
System.Text.Json | System.Text.Json.JsonWriterOptions |
System.Text.Json | System.Text.Json.JsonWriterState |
System.Text.Json | System.Text.Json.Utf8JsonWriter |
System.Security.Principal.Windows | System.Security.Principal .WindowsAccountType |
System.Security.Cryptography.Primitives | System.Security.Cryptography .PbeEncryptionAlgorithm |
System.Security.Cryptography.Primitives | System.Security.Cryptography .PbeParameters |
System.Security.Cryptography.Algorithms | System.Security.Cryptography.AesCcm |
System.Security.Cryptography.Algorithms | System.Security.Cryptography.AesGcm |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.CornerRadius |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.DurationType |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Duration |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.GridUnitType |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.GridLength |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Thickness |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.LayoutCycleException |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Markup .XamlParseException |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Automation .ElementNotAvailableException |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Automation .ElementNotEnabledException |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Media.Matrix |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Media.Media3D.Matrix3D |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Media.Animation.KeyTime |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Media.Animation .RepeatBehaviorType |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Media.Animation .RepeatBehavior |
System.Runtime.WindowsRuntime.UI.Xaml | Windows.UI.Xaml.Controls.Primitives .GeneratorPosition |
System.Runtime.WindowsRuntime | Windows.UI.Color |
System.Runtime.WindowsRuntime | Windows.Foundation.Point |
System.Runtime.WindowsRuntime | Windows.Foundation.Rect |
System.Runtime.WindowsRuntime | Windows.Foundation.Size |
System.Runtime.WindowsRuntime | System.WindowsRuntimeSystemExtensions |
System.Runtime.WindowsRuntime | System.IO .WindowsRuntimeStorageExtensions |
System.Runtime.WindowsRuntime | System.IO.WindowsRuntimeStreamExtensions |
System.Runtime.WindowsRuntime | System.Threading.DispatcherQueueHandler |
System.Runtime.WindowsRuntime | System.Threading.DispatcherQueuePriority |
System.Runtime.WindowsRuntime | System.Runtime.InteropServices .WindowsRuntime.AsyncInfo |
System.Runtime.WindowsRuntime | System.Runtime.InteropServices .WindowsRuntime.WindowsRuntimeBuffer |
System.Runtime.WindowsRuntime | System.Runtime.InteropServices .WindowsRuntime .WindowsRuntimeBufferExtensions |
System.Runtime.Serialization | System.Runtime.Serialization .ISerializationSurrogateProvider |
System.Runtime.Loader | System.Runtime.Loader .AssemblyDependencyResolver |
System.Runtime.Intrinsics | System.MidpointRounding |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Vector64 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Vector64<T> |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Vector128 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Vector128<T> |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Vector256 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Vector256<T> |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86 .FloatComparisonMode |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Aes |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Avx |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Avx2 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Bmi1 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Bmi2 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Fma |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Lzcnt |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Pclmulqdq |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Popcnt |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Sse |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Sse2 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Sse3 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Sse41 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Sse42 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.X86.Ssse3 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Arm.Arm64.Aes |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Arm.Arm64.Base |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Arm.Arm64.Sha1 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Arm.Arm64 .Sha256 |
System.Runtime.Intrinsics | System.Runtime.Intrinsics.Arm.Arm64.Simd |
System.Runtime.InteropServices | System.Runtime.CompilerServices .IDispatchConstantAttribute |
System.Runtime.InteropServices | System.Runtime.InteropServices .StandardOleMarshalObject |
System.Runtime.InteropServices | System.Runtime.InteropServices .NativeLibrary |
System.Runtime.Extensions | System.AppDomainSetup |
System.Runtime.Extensions | System.Security.IStackWalk |
System.Runtime.Extensions | System.Security.PermissionSet |
System.Runtime.Extensions | System.Security.Permissions .PermissionState |
System.Runtime.Extensions | System.Runtime.ProfileOptimization |
System.Runtime | System.ArgIterator |
System.Runtime | System.IAsyncDisposable |
System.Runtime | System.Index |
System.Runtime | System.Range |
System.Runtime | System.Text.Rune |
System.Runtime | System.Text.StringRuneEnumerator |
System.Runtime | System.Globalization.ISOWeek |
System.Runtime | System.Threading.Tasks.Sources .ManualResetValueTaskSourceCore<TResult> |
System.Runtime | System.Runtime.Remoting.ObjectHandle |
System.Runtime | System.Runtime.CompilerServices .AsyncIteratorStateMachineAttribute |
System.Runtime | System.Runtime.CompilerServices .CallerArgumentExpressionAttribute |
System.Runtime | System.Collections.Generic .IAsyncEnumerable<T> |
System.Runtime | System.Collections.Generic .IAsyncEnumerator<T> |
System.Private.CoreLib | System.IAsyncDisposable |
System.Private.CoreLib | System.Index |
System.Private.CoreLib | System.Range |
System.Private.CoreLib | System.Text .StringBuilder+ChunkEnumerator |
System.Private.CoreLib | System.Text.Rune |
System.Private.CoreLib | System.Text.SpanRuneEnumerator |
System.Private.CoreLib | System.Text.StringRuneEnumerator |
System.Private.CoreLib | System.Globalization.ISOWeek |
System.Private.CoreLib | System.Buffers.OperationStatus |
System.Private.CoreLib | System.Buffers.StandardFormat |
System.Private.CoreLib | System.Buffers.Text.Utf8Formatter |
System.Private.CoreLib | System.Buffers.Text.Utf8Parser |
System.Private.CoreLib | System.Buffers.Binary.BinaryPrimitives |
System.Private.CoreLib | System.Threading.Tasks.Sources .ManualResetValueTaskSourceCore<TResult> |
System.Private.CoreLib | System.Runtime.Remoting.ObjectHandle |
System.Private.CoreLib | System.Runtime.Loader .AssemblyDependencyResolver |
System.Private.CoreLib | System.Runtime.CompilerServices .AsyncIteratorMethodBuilder |
System.Private.CoreLib | System.Runtime.CompilerServices .AsyncIteratorStateMachineAttribute |
System.Private.CoreLib | System.Runtime.CompilerServices .CallerArgumentExpressionAttribute |
System.Private.CoreLib | System.Runtime.CompilerServices .ConfiguredCancelableAsyncEnumerable<T> |
System.Private.CoreLib | System.Runtime.CompilerServices .ConfiguredCancelableAsyncEnumerable<T >+Enumerator |
System.Private.CoreLib | System.Runtime.Intrinsics.Vector64 |
System.Private.CoreLib | System.Runtime.Intrinsics.Vector128 |
System.Private.CoreLib | System.Runtime.Intrinsics.Vector256 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Bmi1+X64 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Bmi2+X64 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Lzcnt+X64 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Popcnt+X64 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Sse+X64 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Sse2+X64 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Sse41+X64 |
System.Private.CoreLib | System.Runtime.Intrinsics.X86.Sse42+X64 |
System.Private.CoreLib | System.Runtime.InteropServices .DllImportResolver |
System.Private.CoreLib | System.Runtime.InteropServices .NativeLibrary |
System.Private.CoreLib | System.Runtime.InteropServices .ComActivationContext |
System.Private.CoreLib | System.Runtime.InteropServices .ComActivationContextInternal |
System.Private.CoreLib | System.Runtime.InteropServices .ComActivator |
System.Private.CoreLib | System.Runtime.InteropServices .ComEventInterfaceAttribute |
System.Private.CoreLib | System.Runtime.InteropServices .DefaultParameterValueAttribute |
System.Private.CoreLib | System.Diagnostics.DebugProvider |
System.Private.CoreLib | System.Collections.Generic .IAsyncEnumerable<T> |
System.Private.CoreLib | System.Collections.Generic .IAsyncEnumerator<T> |
System.Private.CoreLib | Internal.Resources.PRIExceptionInfo |
System.Private.CoreLib | Internal.Resources .WindowsRuntimeResourceManagerBase |
System.Private.CoreLib | Internal.Threading.Tasks .AsyncCausalitySupport |
System.Private.CoreLib | Internal.Runtime.InteropServices .WindowsRuntime.ExceptionSupport |
System.ObjectModel | System.Reflection.ICustomTypeProvider |
System.ObjectModel | System.ComponentModel .TypeConverterAttribute |
System.ObjectModel | System.ComponentModel .TypeDescriptionProviderAttribute |
System.ObjectModel | System.Windows.Markup .ValueSerializerAttribute |
System.Net.Sockets | System.Net.Sockets.SafeSocketHandle |
System.Memory | System.Text.SpanRuneEnumerator |
System.Memory | System.Buffers.SequenceReader<T> |
System.Memory | System.Buffers.SequenceReaderExtensions |
System | System.StringNormalizationExtensions |
System | System.Reflection.ICustomTypeProvider |
System | System.Windows.Markup .ValueSerializerAttribute |
System | System.Runtime.InteropServices .StandardOleMarshalObject |
System | System.Diagnostics.ConsoleTraceListener |
System | System.Diagnostics .XmlWriterTraceListener |
System | System.Diagnostics.StackFrameExtensions |
System | System.Security.SecureStringMarshal |
System | System.Net.Sockets .SocketReceiveFromResult |
System | System.Net.Sockets .SocketReceiveMessageFromResult |
System | System.Net.Sockets.SocketTaskExtensions |
System.Diagnostics.TextWriterTraceListener | System.Diagnostics.ConsoleTraceListener |
System.Diagnostics.TextWriterTraceListener | System.Diagnostics .XmlWriterTraceListener |
System.Data | System.Xml.XmlDataDocument |
System.Data | System.Data.Common.DbColumn |
System.Data | System.Data.Common .DbDataReaderExtensions |
System.Data | System.Data.Common .IDbColumnSchemaGenerator |
System.Core | System.Security.Cryptography.AesCng |
System.Core | System.Security.Cryptography.DSACng |
System.Core | System.Security.Cryptography .TripleDESCng |
System.Core | System.Security.Cryptography.ECCurve |
System.Core | System.Security.Cryptography .ECParameters |
System.Core | System.Security.Cryptography.ECPoint |
System.Core | System.Security.Cryptography .IncrementalHash |
System.Core | System.Security.Cryptography .X509Certificates.CertificateRequest |
System.Core | System.Security.Cryptography .X509Certificates .DSACertificateExtensions |
System.Core | System.Security.Cryptography .X509Certificates .SubjectAlternativeNameBuilder |
System.Core | System.Security.Cryptography .X509Certificates.X509SignatureGenerator |
System.ComponentModel.TypeConverter | System.ComponentModel.VersionConverter |
System.ComponentModel.Primitives | System.ComponentModel .InvalidAsynchronousStateException |
System.ComponentModel.DataAnnotations | System.ComponentModel.DataAnnotations .AssociatedMetadataTypeTypeDescriptionPr ovider |
System.ComponentModel.DataAnnotations | System.ComponentModel.DataAnnotations .MetadataTypeAttribute |
System.ComponentModel.Annotations | System.ComponentModel.DataAnnotations .AssociatedMetadataTypeTypeDescriptionPr ovider |
System.ComponentModel.Annotations | System.ComponentModel.DataAnnotations .MetadataTypeAttribute |
mscorlib | System.TupleExtensions |
mscorlib | System.AppDomainSetup |
mscorlib | System.Globalization .GlobalizationExtensions |
mscorlib | System.Threading.ThreadPoolBoundHandle |
mscorlib | System.Threading.PreAllocatedOverlapped |
mscorlib | System.Runtime.ProfileOptimization |
mscorlib | System.Runtime.Remoting.ObjectHandle |
mscorlib | System.Runtime.CompilerServices .RuntimeFeature |
mscorlib | System.Runtime.CompilerServices .IsByRefLikeAttribute |
mscorlib | System.Runtime.CompilerServices.ITuple |
mscorlib | System.Runtime.CompilerServices .IsReadOnlyAttribute |
mscorlib | System.Runtime.CompilerServices .TupleElementNamesAttribute |
mscorlib | System.Runtime.CompilerServices .IDispatchConstantAttribute |
mscorlib | System.Runtime.InteropServices .RuntimeInformation |
mscorlib | System.Runtime.InteropServices .Architecture |
mscorlib | System.Runtime.InteropServices .OSPlatform |
mscorlib | System.Reflection.Emit.DynamicILInfo |
mscorlib | System.Security.IStackWalk |
mscorlib | System.Security.PermissionSet |
mscorlib | System.Security.Permissions .PermissionState |
mscorlib | System.Security.Principal .WindowsAccountType |
mscorlib | System.Diagnostics.Tracing .EventSourceCreatedEventArgs |
Microsoft.VisualBasic | Microsoft.VisualBasic.Collection |
Microsoft.VisualBasic | Microsoft.VisualBasic.CompareMethod |
Microsoft.VisualBasic | Microsoft.VisualBasic.ComClassAttribute |
Microsoft.VisualBasic | Microsoft.VisualBasic.ControlChars |
Microsoft.VisualBasic | Microsoft.VisualBasic.DateAndTime |
Microsoft.VisualBasic | Microsoft.VisualBasic.Information |
Microsoft.VisualBasic | Microsoft.VisualBasic .MyGroupCollectionAttribute |
Microsoft.VisualBasic | Microsoft.VisualBasic.VariantType |
Microsoft.VisualBasic | Microsoft.VisualBasic .VBFixedArrayAttribute |
Microsoft.VisualBasic | Microsoft.VisualBasic .VBFixedStringAttribute |
Microsoft.VisualBasic | Microsoft.VisualBasic.VBMath |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO.FileSystem |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO .DeleteDirectoryOption |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO .RecycleOption |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO .SearchOption |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO .UICancelOption |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO.UIOption |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO .MalformedLineException |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO .SpecialDirectories |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO .TextFieldParser |
Microsoft.VisualBasic | Microsoft.VisualBasic.FileIO.FieldType |
Microsoft.VisualBasic | Microsoft.VisualBasic.CompilerServices .BooleanType |
Microsoft.VisualBasic | Microsoft.VisualBasic.CompilerServices .DecimalType |
Microsoft.VisualBasic | Microsoft.VisualBasic.CompilerServices .Versioned |
Microsoft.VisualBasic | Microsoft.VisualBasic.CompilerServices .DoubleType |
Microsoft.VisualBasic | Microsoft.VisualBasic .ApplicationServices.StartupEventArgs |
Microsoft.VisualBasic | Microsoft.VisualBasic .ApplicationServices .StartupNextInstanceEventArgs |
Microsoft.VisualBasic | Microsoft.VisualBasic .ApplicationServices .UnhandledExceptionEventArgs |
Microsoft.VisualBasic | Microsoft.VisualBasic.Devices .NetworkAvailableEventArgs |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CallType |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.Collection |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompareMethod |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.ComClassAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.Constants |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.ControlChars |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.DateAndTime |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic .HideModuleNameAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.Information |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic .MyGroupCollectionAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.Strings |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.VariantType |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic .VBFixedArrayAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic .VBFixedStringAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.VBMath |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO.FileSystem |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO .DeleteDirectoryOption |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO .RecycleOption |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO .SearchOption |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO .UICancelOption |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO.UIOption |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO .MalformedLineException |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO .SpecialDirectories |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO .TextFieldParser |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.FileIO.FieldType |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .BooleanType |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .Conversions |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .DecimalType |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .DesignerGeneratedAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate0 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate1 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate2 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate3 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate4 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate5 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate6 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .SiteDelegate7 |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .IncompleteInitialization |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .NewLateBinding |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .ObjectFlowControl |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .ObjectFlowControl+ForLoopControl |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .Operators |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .OptionCompareAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .OptionTextAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .ProjectData |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .StandardModuleAttribute |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .StaticLocalInitFlag |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .Utils |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .Versioned |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.CompilerServices .DoubleType |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic .ApplicationServices.StartupEventArgs |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic .ApplicationServices .StartupNextInstanceEventArgs |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic .ApplicationServices .UnhandledExceptionEventArgs |
Microsoft.VisualBasic.Core | Microsoft.VisualBasic.Devices .NetworkAvailableEventArgs |
It’s a shame you don’t have a donate button! I’d most certainly
donate to this brilliant blog! I suppose for now
i’ll settpe for bookmarking and adding your RSS feed to
my Google account. I look forward to nnew updates and will talk about this website with my Facebook
group. Chat soon!