Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add missing checks for NET_452 and NET_461 compile-time defines. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d5792024efc9e4362a9ae24dd9fea99b |
User & Date: | mistachkin 2015-12-04 02:04:32.533 |
Context
2015-12-04
| ||
20:24 | Fix virtual table handling of sqlite3_index_info members not available with older versions of the SQLite core library. check-in: bc75151c63 user: mistachkin tags: trunk | |
20:07 | Update SQLite core library to the latest trunk code. Adapt the interop assembly code to deal with the changes. Closed-Leaf check-in: 7536d45bed user: mistachkin tags: core310 | |
06:14 | More fixes to the optional field handling for the virtual table interface. check-in: 496499d755 user: mistachkin tags: vtabFixes | |
02:04 | Add missing checks for NET_452 and NET_461 compile-time defines. check-in: d5792024ef user: mistachkin tags: trunk | |
01:52 | Add preliminary support for the .NET Framework 4.6.1. check-in: e357378801 user: mistachkin tags: trunk | |
Changes
Changes to SQLite.Designer/SQLiteOptions.cs.
︙ | ︙ | |||
47 48 49 50 51 52 53 | /// design-time components. It is also the default value for the /// associated option key. /// </summary> private static readonly string LegacyProviderName = "System.Data.SQLite"; /////////////////////////////////////////////////////////////////////// | | | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | /// design-time components. It is also the default value for the /// associated option key. /// </summary> private static readonly string LegacyProviderName = "System.Data.SQLite"; /////////////////////////////////////////////////////////////////////// #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 /// <summary> /// This is the provider name used when Entity Framework 6.x support is /// required for use with the System.Data.SQLite design-time components. /// This provider name is only available when this class is compiled for /// the .NET Framework 4.0 or later. /// </summary> private static readonly string Ef6ProviderName = "System.Data.SQLite.EF6"; |
︙ | ︙ | |||
112 113 114 115 116 117 118 | string key = ProviderNameKey; string value = Environment.GetEnvironmentVariable( ProviderNameEnvVarName); if (IsValidValue(key, value)) options[key] = value; | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | string key = ProviderNameKey; string value = Environment.GetEnvironmentVariable( ProviderNameEnvVarName); if (IsValidValue(key, value)) options[key] = value; #if !NET_40 && !NET_45 && !NET_451 && !NET_452 && !NET_46 && !NET_461 else options[key] = LegacyProviderName; #endif } } #endregion |
︙ | ︙ | |||
135 136 137 138 139 140 141 | /// <returns> /// The configured ADO.NET provider name for System.Data.SQLite -OR- /// the default ADO.NET provider name for System.Data.SQLite in the /// event of any failure. This method cannot return null. /// </returns> public static string GetProviderName() { | | | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | /// <returns> /// The configured ADO.NET provider name for System.Data.SQLite -OR- /// the default ADO.NET provider name for System.Data.SQLite in the /// event of any failure. This method cannot return null. /// </returns> public static string GetProviderName() { #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 return GetProviderName(Ef6ProviderName); #else return GetProviderName(LegacyProviderName); #endif } /////////////////////////////////////////////////////////////////////// |
︙ | ︙ | |||
351 352 353 354 355 356 357 | int result = 0; if (items == null) return result; IList<string> names = new List<string>(); | | | 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 | int result = 0; if (items == null) return result; IList<string> names = new List<string>(); #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 names.Add(Ef6ProviderName); #endif names.Add(LegacyProviderName); foreach (string name in names) { |
︙ | ︙ | |||
428 429 430 431 432 433 434 | string value ) { if (String.Equals( key, ProviderNameKey, StringComparison.Ordinal) && (String.Equals( value, LegacyProviderName, StringComparison.Ordinal) | | | 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 | string value ) { if (String.Equals( key, ProviderNameKey, StringComparison.Ordinal) && (String.Equals( value, LegacyProviderName, StringComparison.Ordinal) #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 || String.Equals( value, Ef6ProviderName, StringComparison.Ordinal) #endif )) { return true; } |
︙ | ︙ |
Changes to System.Data.SQLite.Linq/AssemblyInfo.cs.
︙ | ︙ | |||
33 34 35 36 37 38 39 | // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] [assembly: CLSCompliant(true)] | | | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] [assembly: CLSCompliant(true)] #if !NET_40 && !NET_45 && !NET_451 && !NET_452 && !NET_46 && !NET_461 [assembly: AllowPartiallyTrustedCallers] #endif [assembly: ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] // Version information for an assembly consists of the following four values: // |
︙ | ︙ |
Changes to System.Data.SQLite.Linq/SQL Generation/InternalBase.cs.
1 2 3 4 5 6 7 8 9 | /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ using System.Text; | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ using System.Text; #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 using System.Runtime; #endif #if USE_ENTITY_FRAMEWORK_6 namespace System.Data.SQLite.EF6 #else namespace System.Data.SQLite.Linq #endif { internal abstract class InternalBase { // Methods #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] #endif protected InternalBase() { } internal abstract void ToCompactString(StringBuilder builder); internal virtual string ToFullString() { StringBuilder builder = new StringBuilder(); this.ToFullString(builder); return builder.ToString(); } #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] #endif internal virtual void ToFullString(StringBuilder builder) { this.ToCompactString(builder); } |
︙ | ︙ |
Changes to System.Data.SQLite.Linq/SQL Generation/KeyToListMap.cs.
1 2 3 4 5 6 7 8 9 10 11 12 | /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ using System.Collections.Generic; using System.Text; using System.Collections.ObjectModel; using System.Collections; | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ using System.Collections.Generic; using System.Text; using System.Collections.ObjectModel; using System.Collections; #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 using System.Runtime; #endif #if USE_ENTITY_FRAMEWORK_6 namespace System.Data.SQLite.EF6 #else namespace System.Data.SQLite.Linq |
︙ | ︙ | |||
119 120 121 122 123 124 125 | { return this.m_map.Keys; } } internal IEnumerable<KeyValuePair<TKey, List<TValue>>> KeyValuePairs { | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | { return this.m_map.Keys; } } internal IEnumerable<KeyValuePair<TKey, List<TValue>>> KeyValuePairs { #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] #endif get { return this.m_map; } } } } |
Changes to System.Data.SQLite.Linq/SQL Generation/SqlChecker.cs.
︙ | ︙ | |||
24 25 26 27 28 29 30 | { #if false private static Type sql8rewriter; static SqlChecker() { string version = | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | { #if false private static Type sql8rewriter; static SqlChecker() { string version = #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 "4.0.0.0"; #else "3.5.0.0"; #endif sql8rewriter = Type.GetType(String.Format("System.Data.SqlClient.SqlGen.Sql8ExpressionRewriter, System.Data.Entity, Version={0}, Culture=neutral, PublicKeyToken=b77a5c561934e089", version), false); } |
︙ | ︙ |
Changes to System.Data.SQLite.Linq/SQL Generation/StringUtil.cs.
1 2 3 4 5 6 7 8 9 10 11 12 | /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ using System.Collections.Generic; using System.Text; using System.Globalization; using System.Collections; | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ using System.Collections.Generic; using System.Text; using System.Globalization; using System.Collections; #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 using System.Runtime; #endif #if USE_ENTITY_FRAMEWORK_6 namespace System.Data.SQLite.EF6 #else namespace System.Data.SQLite.Linq |
︙ | ︙ | |||
85 86 87 88 89 90 91 | } private static string InvariantConvertToString<T>(T value) { return string.Format(CultureInfo.InvariantCulture, "{0}", new object[] { value }); } | | | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | } private static string InvariantConvertToString<T>(T value) { return string.Format(CultureInfo.InvariantCulture, "{0}", new object[] { value }); } #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] #endif internal static bool IsNullOrEmptyOrWhiteSpace(string value) { return IsNullOrEmptyOrWhiteSpace(value, 0); } |
︙ | ︙ | |||
165 166 167 168 169 170 171 | } internal static void ToSeparatedString(StringBuilder builder, IEnumerable list, string separator) { ToSeparatedStringPrivate(builder, list, separator, string.Empty, false); } | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | } internal static void ToSeparatedString(StringBuilder builder, IEnumerable list, string separator) { ToSeparatedStringPrivate(builder, list, separator, string.Empty, false); } #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] #endif internal static void ToSeparatedString(StringBuilder stringBuilder, IEnumerable list, string separator, string nullValue) { ToSeparatedStringPrivate(stringBuilder, list, separator, nullValue, false); } |
︙ | ︙ |
Changes to System.Data.SQLite/AssemblyInfo.cs.
︙ | ︙ | |||
38 39 40 41 42 43 44 | // Setting ComVisible to false makes the types in this assembly not visible // to COM componenets. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] [assembly: CLSCompliant(true)] [assembly: InternalsVisibleTo("System.Data.SQLite.Linq, PublicKey=" + System.Data.SQLite.SQLite3.PublicKey)] | | | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | // Setting ComVisible to false makes the types in this assembly not visible // to COM componenets. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] [assembly: CLSCompliant(true)] [assembly: InternalsVisibleTo("System.Data.SQLite.Linq, PublicKey=" + System.Data.SQLite.SQLite3.PublicKey)] #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 [assembly: InternalsVisibleTo("System.Data.SQLite.EF6, PublicKey=" + System.Data.SQLite.SQLite3.PublicKey)] #endif [assembly: NeutralResourcesLanguage("en")] #if !PLATFORM_COMPACTFRAMEWORK #if !NET_40 && !NET_45 && !NET_451 && !NET_452 && !NET_46 && !NET_461 [assembly: AllowPartiallyTrustedCallers] #endif [assembly: ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 // // NOTE: This attribute is only available in .NET Framework 4.0 or higher. // [assembly: SecurityRules(System.Security.SecurityRuleSet.Level1)] #endif #endif |
︙ | ︙ |
Changes to System.Data.SQLite/LINQ/SQLiteFactory_Linq.cs.
︙ | ︙ | |||
50 51 52 53 54 55 56 | SQLiteErrorCode.Ok, SQLiteConvert.ToUTF8("logging initialized.")); } #endif SQLiteLog.Initialize(); string version = | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | SQLiteErrorCode.Ok, SQLiteConvert.ToUTF8("logging initialized.")); } #endif SQLiteLog.Initialize(); string version = #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 "4.0.0.0"; #else "3.5.0.0"; #endif _dbProviderServicesType = Type.GetType(UnsafeNativeMethods.StringFormat(CultureInfo.InvariantCulture, "System.Data.Common.DbProviderServices, System.Data.Entity, Version={0}, Culture=neutral, PublicKeyToken=b77a5c561934e089", version), false); } |
︙ | ︙ |
Changes to System.Data.SQLite/SQLite3.cs.
︙ | ︙ | |||
67 68 69 70 71 72 73 | protected internal SQLiteConnectionHandle _sql; protected string _fileName; protected SQLiteConnectionFlags _flags; protected bool _usePool; protected int _poolVersion; private int _cancelCount; | | | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | protected internal SQLiteConnectionHandle _sql; protected string _fileName; protected SQLiteConnectionFlags _flags; protected bool _usePool; protected int _poolVersion; private int _cancelCount; #if (NET_35 || NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461) && !PLATFORM_COMPACTFRAMEWORK private bool _buildingSchema; #endif /// <summary> /// The user-defined functions registered on this connection /// </summary> protected Dictionary<SQLiteFunctionAttribute, SQLiteFunction> _functions; |
︙ | ︙ | |||
1404 1405 1406 1407 1408 1409 1410 | } if (cmd != null) cmd.SetTypes(typedefs); return cmd; } | | | 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 | } if (cmd != null) cmd.SetTypes(typedefs); return cmd; } #if (NET_35 || NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461) && !PLATFORM_COMPACTFRAMEWORK else if (_buildingSchema == false && String.Compare(GetLastError(), 0, "no such table: TEMP.SCHEMA", 0, 26, StringComparison.OrdinalIgnoreCase) == 0) { strRemain = ""; _buildingSchema = true; try { ISQLiteSchemaExtensions ext = ((IServiceProvider)SQLiteFactory.Instance).GetService(typeof(ISQLiteSchemaExtensions)) as ISQLiteSchemaExtensions; |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteDefineConstants.cs.
︙ | ︙ | |||
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #if NET_45 "NET_45", #endif #if NET_451 "NET_451", #endif #if NET_46 "NET_46", #endif #if NET_COMPACT_20 "NET_COMPACT_20", #endif #if PLATFORM_COMPACTFRAMEWORK "PLATFORM_COMPACTFRAMEWORK", | > > > > > > > > | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | #if NET_45 "NET_45", #endif #if NET_451 "NET_451", #endif #if NET_452 "NET_452", #endif #if NET_46 "NET_46", #endif #if NET_461 "NET_461", #endif #if NET_COMPACT_20 "NET_COMPACT_20", #endif #if PLATFORM_COMPACTFRAMEWORK "PLATFORM_COMPACTFRAMEWORK", |
︙ | ︙ |
Changes to lib/System.Data.SQLite/common.eagle.
︙ | ︙ | |||
3589 3590 3591 3592 3593 3594 3595 | CHECK_STATE COUNT_HANDLE DEBUG INTEROP_CODEC INTEROP_DEBUG \ INTEROP_EXTENSION_FUNCTIONS INTEROP_FTS5_EXTENSION \ INTEROP_INCLUDE_CEROD INTEROP_INCLUDE_EXTRA INTEROP_INCLUDE_SEE \ INTEROP_INCLUDE_ZIPVFS INTEROP_JSON1_EXTENSION \ INTEROP_LEGACY_CLOSE INTEROP_LOG INTEROP_PERCENTILE_EXTENSION \ INTEROP_REGEXP_EXTENSION INTEROP_TEST_EXTENSION \ INTEROP_TOTYPE_EXTENSION INTEROP_VIRTUAL_TABLE NET_20 NET_35 \ | | | 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 | CHECK_STATE COUNT_HANDLE DEBUG INTEROP_CODEC INTEROP_DEBUG \ INTEROP_EXTENSION_FUNCTIONS INTEROP_FTS5_EXTENSION \ INTEROP_INCLUDE_CEROD INTEROP_INCLUDE_EXTRA INTEROP_INCLUDE_SEE \ INTEROP_INCLUDE_ZIPVFS INTEROP_JSON1_EXTENSION \ INTEROP_LEGACY_CLOSE INTEROP_LOG INTEROP_PERCENTILE_EXTENSION \ INTEROP_REGEXP_EXTENSION INTEROP_TEST_EXTENSION \ INTEROP_TOTYPE_EXTENSION INTEROP_VIRTUAL_TABLE NET_20 NET_35 \ NET_40 NET_45 NET_451 NET_452 NET_46 NET_461 NET_COMPACT_20 \ PLATFORM_COMPACTFRAMEWORK PRELOAD_NATIVE_LIBRARY RETARGETABLE \ SQLITE_STANDARD THROW_ON_DISPOSED TRACE TRACE_CONNECTION \ TRACE_DETECTION TRACE_HANDLE TRACE_PRELOAD TRACE_SHARED \ TRACE_STATEMENT TRACE_WARNING TRACK_MEMORY_BYTES \ USE_ENTITY_FRAMEWORK_6 USE_INTEROP_DLL USE_PREPARE_V2 WINDOWS] { # # NOTE: Check if the compile-time option is listed in the list of |
︙ | ︙ |
Changes to testlinq/Program.cs.
︙ | ︙ | |||
170 171 172 173 174 175 176 | return 1; } } return BinaryGuidTest(value); } | | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | return 1; } } return BinaryGuidTest(value); } #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 case "binaryguid2": { bool value = false; if (args.Length > 1) { if (!bool.TryParse(args[1], out value)) { Console.WriteLine( "cannot parse \"{0}\" as boolean", args[1]); return 1; } } return BinaryGuidTest2(value); } #endif #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 case "round": { return RoundTest(); } #endif case "complexprimarykey": { |
︙ | ︙ | |||
492 493 494 495 496 497 498 | territories.Regions = db.Regions.First(); db.AddObject("Territories", territories); } try { | | | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 | territories.Regions = db.Regions.First(); db.AddObject("Territories", territories); } try { #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 db.SaveChanges(SaveOptions.None); #else db.SaveChanges(false); #endif } catch (Exception e) { |
︙ | ︙ | |||
515 516 517 518 519 520 521 | } } else { using (northwindEFEntities db = new northwindEFEntities()) { bool once = false; | | | 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 | } } else { using (northwindEFEntities db = new northwindEFEntities()) { bool once = false; #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 var query = from t in db.Territories where territoryIds.AsQueryable<long>().Contains<long>(t.TerritoryID) orderby t.TerritoryID select t; foreach (Territories territories in query) { |
︙ | ︙ | |||
728 729 730 731 732 733 734 | Environment.SetEnvironmentVariable( "AppendManifestToken_SQLiteProviderManifest", null); return 0; } | | | 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 | Environment.SetEnvironmentVariable( "AppendManifestToken_SQLiteProviderManifest", null); return 0; } #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 // // NOTE: Used to test the BinaryGUID connection string property with // the Contains() function (ticket [a4d9c7ee94]). We cannot // use the Contains extension method within a LINQ query with // the .NET Framework 3.5. // private static int BinaryGuidTest2(bool binaryGuid) |
︙ | ︙ | |||
921 922 923 924 925 926 927 | null); } Environment.SetEnvironmentVariable("SQLite_ForceLogPrepare", null); Trace.Listeners.Remove(listener); } | | | 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 | null); } Environment.SetEnvironmentVariable("SQLite_ForceLogPrepare", null); Trace.Listeners.Remove(listener); } #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 // // NOTE: Used to test the ROUND fix (i.e. being able to properly handle // the two argument form). // private static int RoundTest() { using (northwindEFEntities db = new northwindEFEntities()) |
︙ | ︙ |
Changes to tools/install/Installer.cs.
︙ | ︙ | |||
198 199 200 201 202 203 204 | #endregion } #endregion /////////////////////////////////////////////////////////////////////////// #region Installer Class | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | #endregion } #endregion /////////////////////////////////////////////////////////////////////////// #region Installer Class #if NET_40 || NET_45 || NET_451 || NET_452 || NET_46 || NET_461 [SecurityCritical()] #else [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)] #endif internal static class Installer { #region Unsafe Native Methods Class |
︙ | ︙ |