Compare commits

..

No commits in common. 'master' and '20260122' have entirely different histories.

10
.idea/.gitignore vendored

@ -1,10 +0,0 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# 已忽略包含查询文件的默认文件夹
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -1,253 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="BackendCodeEditorSettings">
<option name="/Default/CodeInspection/GeneratedCode/GeneratedCodeRegions/=Component_0020Designer_0020generated_0020code/@EntryIndexedValue" value="Component Designer generated code" type="string" />
<option name="/Default/CodeInspection/GeneratedCode/GeneratedCodeRegions/=Designer_0020generated_0020code/@EntryIndexedValue" value="Designer generated code" type="string" />
<option name="/Default/CodeInspection/GeneratedCode/GeneratedCodeRegions/=Web_0020Form_0020Designer_0020generated_0020code/@EntryIndexedValue" value="Web Form Designer generated code" type="string" />
<option name="/Default/CodeInspection/GeneratedCode/GeneratedCodeRegions/=Windows_0020Form_0020Designer_0020generated_0020code/@EntryIndexedValue" value="Windows Form Designer generated code" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefinitionsOrder/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedOverridenMethod/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppModulePartitionWithSeveralPartitionUnits/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantFwdClassOrEnumSpecifier/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifierADL/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
</component>
</project>

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/lanju-client.iml" filepath="$PROJECT_DIR$/.idea/lanju-client.iml" />
</modules>
</component>
</project>

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

@ -1,3 +0,0 @@
{
"CurrentProjectSetting": null
}

@ -1,9 +0,0 @@
{
"ExpandedNodes": [
"",
"\\shangjian",
"\\shangjian\\XGLFinishPro"
],
"SelectedNode": "\\shangjian\\BL.sln",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

@ -1,12 +0,0 @@
{
"Version": 1,
"WorkspaceRootPath": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\",
"Documents": [],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": []
}
]
}

@ -1,88 +0,0 @@
{
"Version": 1,
"WorkspaceRootPath": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\App.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:shangjian\\XGLFinishPro\\App.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
},
{
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\AutoUpdate\\AutoUpdate.csproj.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:shangjian\\AutoUpdate\\AutoUpdate.csproj.user||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
},
{
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\FormItem\\FormDownLineBoard.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:shangjian\\XGLFinishPro\\FormItem\\FormDownLineBoard.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\FormItem\\FormBlankingBoard.xaml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:shangjian\\XGLFinishPro\\FormItem\\FormBlankingBoard.xaml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 0,
"Children": [
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "App.config",
"DocumentMoniker": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\App.config",
"RelativeDocumentMoniker": "shangjian\\XGLFinishPro\\App.config",
"ToolTip": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\App.config",
"RelativeToolTip": "shangjian\\XGLFinishPro\\App.config",
"ViewState": "AgIAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
"WhenOpened": "2026-04-16T01:23:07.524Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "AutoUpdate.csproj.user",
"DocumentMoniker": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\AutoUpdate\\AutoUpdate.csproj.user",
"RelativeDocumentMoniker": "shangjian\\AutoUpdate\\AutoUpdate.csproj.user",
"ToolTip": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\AutoUpdate\\AutoUpdate.csproj.user",
"RelativeToolTip": "shangjian\\AutoUpdate\\AutoUpdate.csproj.user",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003464|",
"WhenOpened": "2026-04-16T01:22:40.519Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "FormDownLineBoard.xaml.cs",
"DocumentMoniker": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\FormItem\\FormDownLineBoard.xaml.cs",
"RelativeDocumentMoniker": "shangjian\\XGLFinishPro\\FormItem\\FormDownLineBoard.xaml.cs",
"ToolTip": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\FormItem\\FormDownLineBoard.xaml.cs",
"RelativeToolTip": "shangjian\\XGLFinishPro\\FormItem\\FormDownLineBoard.xaml.cs",
"ViewState": "AgIAAKUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-04-16T01:22:06.152Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "FormBlankingBoard.xaml",
"DocumentMoniker": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\FormItem\\FormBlankingBoard.xaml",
"RelativeDocumentMoniker": "shangjian\\XGLFinishPro\\FormItem\\FormBlankingBoard.xaml",
"ToolTip": "D:\\\u4E0A\u4F4D\u673A\\lanju-client\\shangjian\\XGLFinishPro\\FormItem\\FormBlankingBoard.xaml",
"RelativeToolTip": "shangjian\\XGLFinishPro\\FormItem\\FormBlankingBoard.xaml",
"ViewState": "AgIAAM8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2026-04-16T01:21:19.086Z",
"EditorCaption": ""
}
]
}
]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="AutoUpdate.application" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="AutoUpdate" asmv2:product="AutoUpdate" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.8" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="AutoUpdate.exe.manifest" size="4754">
<assemblyIdentity name="AutoUpdate.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>L3aDX3Ajm1chs7BvFhCPLalTXTGwyYHBBG40DieWZo4=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
</asmv1:assembly>

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="AutoUpdate.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
<applicationSettings>
<AutoUpdate.Properties.Settings>
<setting name="AutoUpdate_autoUpdateVersion_WebService" serializeAs="String">
<value>http://localhost/WebService.asmx</value>
</setting>
</AutoUpdate.Properties.Settings>
</applicationSettings>
<appSettings>
<add key="FileNm" value="XGL.exe" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
</providers>
</roleManager>
</system.web>
</configuration>

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="AutoUpdate.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" type="win32" />
<application />
<entryPoint>
<assemblyIdentity name="AutoUpdate" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
<commandLine file="AutoUpdate.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!--
UAC 清单选项
如果要更改 Windows 用户帐户控制级别,请用以下节点之一替换
requestedExecutionLevel 节点。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
如果要利用文件和注册表虚拟化提供
向后兼容性,请删除 requestedExecutionLevel 节点。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AutoUpdate.exe" size="15360">
<assemblyIdentity name="AutoUpdate" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>4vqfshwQCRCVo6XeyC4/miZPINMbIpWwvhRdE9DImqA=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AutoUpdate.XmlSerializers.dll" size="13824">
<assemblyIdentity name="AutoUpdate.XmlSerializers" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>0bXLLzirpLg6kY+VCpkY1uSSoVYe3gAJXtVfkPPQp/I=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="SevenZipSharp.dll" size="163840">
<assemblyIdentity name="SevenZipSharp" version="0.64.6306.20235" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>y2y2qGiDpDu7nWXNrUlsUDhtiXQiJ/2KpqsaKK4yFXE=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<file name="AutoUpdate.exe.config" size="1911">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>EsLvF8gJCwfdwpO1sUPuHUhUZwSEixApBp53whauQ2A=</dsig:DigestValue>
</hash>
</file>
</asmv1:assembly>

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="AutoUpdate.application" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="AutoUpdate" asmv2:product="AutoUpdate" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.8" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="AutoUpdate.exe.manifest" size="4754">
<assemblyIdentity name="AutoUpdate.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>L3aDX3Ajm1chs7BvFhCPLalTXTGwyYHBBG40DieWZo4=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
</asmv1:assembly>

@ -1 +0,0 @@
59a527bff2f49ad775a0cc04539b510c5ec1ee90d6a38423038465d476545d49

@ -1,19 +0,0 @@
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\7z.dll
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\7z64.dll
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\AutoUpdate.exe.config
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\AutoUpdate.exe.manifest
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\AutoUpdate.application
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\AutoUpdate.exe
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\AutoUpdate.XmlSerializers.dll
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\AutoUpdate.pdb
D:\上位机\lanju-client\shangjian\AutoUpdate\bin\Release\SevenZipSharp.dll
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.csproj.AssemblyReference.cache
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.Properties.Resources.resources
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.csproj.GenerateResource.cache
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.csproj.CoreCompileInputs.cache
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.exe.manifest
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.application
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.csproj.Up2Date
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.exe
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.pdb
D:\上位机\lanju-client\shangjian\AutoUpdate\obj\x86\Release\AutoUpdate.XmlSerializers.dll

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="AutoUpdate.exe" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" type="win32" />
<application />
<entryPoint>
<assemblyIdentity name="AutoUpdate" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
<commandLine file="AutoUpdate.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!--
UAC 清单选项
如果要更改 Windows 用户帐户控制级别,请用以下节点之一替换
requestedExecutionLevel 节点。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
如果要利用文件和注册表虚拟化提供
向后兼容性,请删除 requestedExecutionLevel 节点。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AutoUpdate.exe" size="15360">
<assemblyIdentity name="AutoUpdate" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>4vqfshwQCRCVo6XeyC4/miZPINMbIpWwvhRdE9DImqA=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="AutoUpdate.XmlSerializers.dll" size="13824">
<assemblyIdentity name="AutoUpdate.XmlSerializers" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>0bXLLzirpLg6kY+VCpkY1uSSoVYe3gAJXtVfkPPQp/I=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="SevenZipSharp.dll" size="163840">
<assemblyIdentity name="SevenZipSharp" version="0.64.6306.20235" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>y2y2qGiDpDu7nWXNrUlsUDhtiXQiJ/2KpqsaKK4yFXE=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<file name="AutoUpdate.exe.config" size="1911">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>EsLvF8gJCwfdwpO1sUPuHUhUZwSEixApBp53whauQ2A=</dsig:DigestValue>
</hash>
</file>
</asmv1:assembly>

@ -1,424 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>BCrypt.Net-Next</name>
</assembly>
<members>
<member name="T:BCrypt.Net.BCrypt">
<summary>BCrypt implementation.</summary>
<remarks>
<para>
BCrypt implements OpenBSD-style Blowfish password hashing using the scheme described in
<a href="http://www.usenix.org/event/usenix99/provos/provos_html/index.html">"A Future-
Adaptable Password Scheme"</a> by Niels Provos and David Mazieres.
</para>
<para>
This password hashing system tries to thwart off-line password cracking using a
computationally-intensive hashing algorithm, based on Bruce Schneier's Blowfish cipher.
The work factor of the algorithm is parameterised, so it can be increased as computers
get faster.
</para>
<para>
To hash a password using the defaults, call the <see cref="M:BCrypt.Net.BCrypt.HashPassword(System.String)"/> (which will generate a random salt and hash at default cost), like this:
</para>
<code>string pw_hash = BCrypt.HashPassword(plain_password);</code>
<para>
To hash a password using SHA384 pre-hashing for increased entropy call <see cref="M:BCrypt.Net.BCrypt.EnhancedHashPassword(System.String)"/>
(which will generate a random salt and hash at default cost), like this:
</para>
<code>string pw_hash = BCrypt.EnhancedHashPassword(plain_password);</code>
<para>
To check whether a plaintext password matches one that has been hashed previously,
use the <see cref="M:BCrypt.Net.BCrypt.Verify(System.String,System.String,System.Boolean,BCrypt.Net.HashType)"/> method:
(To validate an enhanced hash you can pass true as the last parameter of Verify or use <see cref="M:BCrypt.Net.BCrypt.EnhancedVerify(System.String,System.String,BCrypt.Net.HashType)"/>)
</para>
<code>
if (BCrypt.Verify(candidate_password, stored_hash))
Console.WriteLine("It matches");
else
Console.WriteLine("It does not match");
</code>
<para>
The <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/> method takes an optional parameter (workFactor) that
determines the computational complexity of the hashing:
</para>
<code>
string strong_salt = BCrypt.GenerateSalt(10);
string stronger_salt = BCrypt.GenerateSalt(12);
</code>
<para>
The amount of work increases exponentially (2^workFactor), so each increment is twice
as much work. The default workFactor is 10, and the valid range is 4 to 31.
</para>
</remarks>
</member>
<member name="F:BCrypt.Net.BCrypt.DefaultRounds">
<summary>
Default Work Factor
</summary>
</member>
<member name="F:BCrypt.Net.BCrypt.RngCsp">
<summary>
RandomNumberGenerator.Create calls RandomNumberGenerator.Create("System.Security.Cryptography.RandomNumberGenerator"), which will create an instance of RNGCryptoServiceProvider.
https://msdn.microsoft.com/en-us/library/42ks8fz1
</summary>
</member>
<member name="M:BCrypt.Net.BCrypt.ValidateAndReplacePassword(System.String,System.String,System.String,System.Int32,System.Boolean)">
<summary>
Validate existing hash and password,
</summary>
<param name="currentKey">Current password / string</param>
<param name="currentHash">Current hash to validate password against</param>
<param name="newKey">NEW password / string to be hashed</param>
<param name="workFactor">The log2 of the number of rounds of hashing to apply - the work
factor therefore increases as 2^workFactor. Default is 11</param>
<param name="forceWorkFactor">By default this method will not accept a work factor lower
than the one set in the current hash and will set the new work-factor to match.</param>
<exception cref="T:BCrypt.Net.BcryptAuthenticationException">returned if the users hash and current pass doesn't validate</exception>
<exception cref="T:BCrypt.Net.SaltParseException">returned if the salt is invalid in any way</exception>
<exception cref="T:System.ArgumentException">returned if the hash is invalid</exception>
<exception cref="T:System.ArgumentNullException">returned if the user hash is null</exception>
<returns>New hash of new password</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.ValidateAndReplacePassword(System.String,System.String,System.Boolean,BCrypt.Net.HashType,System.String,System.Boolean,BCrypt.Net.HashType,System.Int32,System.Boolean)">
<summary>
Validate existing hash and password,
</summary>
<param name="currentKey">Current password / string</param>
<param name="currentHash">Current hash to validate password against</param>
<param name="currentKeyEnhancedEntropy">Set to true,the string will undergo SHA384 hashing to make
use of available entropy prior to bcrypt hashing</param>
<param name="oldHashType">HashType used (default SHA384)</param>
<param name="newKey">NEW password / string to be hashed</param>
<param name="newKeyEnhancedEntropy">Set to true,the string will undergo SHA384 hashing to make
use of available entropy prior to bcrypt hashing</param>
<param name="newHashType">HashType to use (default SHA384)</param>
<param name="workFactor">The log2 of the number of rounds of hashing to apply - the work
factor therefore increases as 2^workFactor. Default is 11</param>
<param name="forceWorkFactor">By default this method will not accept a work factor lower
than the one set in the current hash and will set the new work-factor to match.</param>
<exception cref="T:BCrypt.Net.BcryptAuthenticationException">returned if the users hash and current pass doesn't validate</exception>
<exception cref="T:BCrypt.Net.SaltParseException">returned if the salt is invalid in any way</exception>
<exception cref="T:System.ArgumentException">returned if the hash is invalid</exception>
<exception cref="T:System.ArgumentNullException">returned if the user hash is null</exception>
<returns>New hash of new password</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.HashString(System.String,System.Int32)">
<summary>
Hash a string using the OpenBSD BCrypt scheme and a salt generated by <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>.
</summary>
<remarks>Just an alias for HashPassword.</remarks>
<param name="inputKey"> The string to hash.</param>
<param name="workFactor">The log2 of the number of rounds of hashing to apply - the work
factor therefore increases as 2^workFactor. Default is 11</param>
<returns>The hashed string.</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.HashPassword(System.String)">
<summary>
Hash a password using the OpenBSD BCrypt scheme and a salt generated by <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>.
</summary>
<param name="inputKey">The password to hash.</param>
<returns>The hashed password.</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.EnhancedHashPassword(System.String)">
<summary>
Pre-hash a password with SHA384 then using the OpenBSD BCrypt scheme and a salt generated by <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>.
</summary>
<param name="inputKey">The password to hash.</param>
<returns>The hashed password.</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.EnhancedHashPassword(System.String,System.Int32)">
<summary>
Pre-hash a password with SHA384 then using the OpenBSD BCrypt scheme and a salt generated by <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>.
</summary>
<param name="inputKey">The password to hash.</param>
<param name="workFactor"></param>
<returns>The hashed password.</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.EnhancedHashPassword(System.String,System.Int32,BCrypt.Net.HashType)">
<summary>
Pre-hash a password with SHA384 then using the OpenBSD BCrypt scheme and a salt generated by <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>.
</summary>
<param name="inputKey">The password to hash.</param>
<param name="workFactor"></param>
<param name="hashType">Configurable hash type for enhanced entropy</param>
<returns>The hashed password.</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.EnhancedHashPassword(System.String,BCrypt.Net.HashType,System.Int32)">
<summary>
Pre-hash a password with SHA384 then using the OpenBSD BCrypt scheme and a salt generated by <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>.
</summary>
<param name="inputKey">The password to hash.</param>
<param name="workFactor">Defaults to 11</param>
<param name="hashType">Configurable hash type for enhanced entropy</param>
<returns>The hashed password.</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.HashPassword(System.String,System.Int32,System.Boolean)">
<summary>
Hash a password using the OpenBSD BCrypt scheme and a salt generated by <see cref="M:BCrypt.Net.BCrypt.GenerateSalt(System.Int32,System.Char)"/> using the given <paramref name="workFactor"/>.
</summary>
<param name="inputKey"> The password to hash.</param>
<param name="workFactor">The log2 of the number of rounds of hashing to apply - the work
factor therefore increases as 2^workFactor. Default is 11</param>
<param name="enhancedEntropy">Set to true,the string will undergo SHA384 hashing to make use of available entropy prior to bcrypt hashing</param>
<returns>The hashed password.</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.HashPassword(System.String,System.String)">
<summary>Hash a password using the OpenBSD BCrypt scheme.</summary>
<exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
<param name="inputKey">The password or string to hash.</param>
<param name="salt"> the salt to hash with (best generated using <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>).</param>
<returns>The hashed password</returns>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the <paramref name="salt"/> could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.HashPassword(System.String,System.String,System.Boolean,BCrypt.Net.HashType)">
<summary>Hash a password using the OpenBSD BCrypt scheme.</summary>
<exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
<param name="inputKey">The password or string to hash.</param>
<param name="salt"> the salt to hash with (best generated using <see cref="M:BCrypt.Net.BCrypt.GenerateSalt"/>).</param>
<param name="enhancedEntropy">Set to true,the string will undergo hashing (defaults to SHA384 then base64 encoding) to make use of available entropy prior to bcrypt hashing</param>
<param name="hashType">Configurable hash type for enhanced entropy</param>
<returns>The hashed password</returns>
<exception cref="T:System.ArgumentNullException">Thrown when the <paramref name="inputKey"/> is null.</exception>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the <paramref name="salt"/> could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.EnhancedHash(System.Byte[],System.Char,BCrypt.Net.HashType)">
<summary>
Hashes key, base64 encodes before returning byte array
</summary>
<param name="inputBytes"></param>
<param name="bcryptMinorRevision"></param>
<param name="hashType"></param>
<returns></returns>
</member>
<member name="M:BCrypt.Net.BCrypt.GenerateSalt(System.Int32,System.Char)">
<summary>
Generate a salt for use with the <see cref="M:BCrypt.Net.BCrypt.HashPassword(System.String,System.String)"/> method.
</summary>
<param name="workFactor">The log2 of the number of rounds of hashing to apply - the work
factor therefore increases as 2**workFactor.</param>
<param name="bcryptMinorRevision"></param>
<exception cref="T:System.ArgumentOutOfRangeException">Work factor must be between 4 and 31</exception>
<returns>A base64 encoded salt value.</returns>
<exception cref="T:System.ArgumentException">BCrypt Revision should be a, b, x or y</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.PasswordNeedsRehash(System.String,System.Int32)">
<summary>
Based on password_needs_rehash in PHP this method will return true
if the work factor (logrounds) set on the hash is lower than the new minimum workload passed in
</summary>
<param name="hash">full bcrypt hash</param>
<param name="newMinimumWorkLoad">target workload</param>
<returns>true if new work factor is higher than the one in the hash</returns>
<exception cref="T:System.ArgumentException">throws if the current hash workload (logrounds) can not be parsed</exception>
<exception cref="T:BCrypt.Net.HashInformationException"></exception>
</member>
<member name="M:BCrypt.Net.BCrypt.InterrogateHash(System.String)">
<summary>
Takes a valid hash and outputs its component parts
</summary>
<param name="hash"></param>
<exception cref="T:BCrypt.Net.HashInformationException"></exception>
</member>
<member name="M:BCrypt.Net.BCrypt.GenerateSalt">
<summary>
Generate a salt for use with the <see cref="M:BCrypt.Net.BCrypt.HashPassword(System.String,System.String)"/> method
selecting a reasonable default for the number of hashing rounds to apply.
</summary>
<returns>A base64 encoded salt value.</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.EnhancedVerify(System.String,System.String,BCrypt.Net.HashType)">
<summary>
Verifies that the hash of the given <paramref name="text"/> matches the provided
<paramref name="hash"/>; the string will undergo SHA384 hashing to maintain the enhanced entropy work done during hashing
</summary>
<param name="text">The text to verify.</param>
<param name="hash"> The previously-hashed password.</param>
<param name="hashType">HashType used (default SHA384)</param>
<returns>true if the passwords match, false otherwise.</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.Verify(System.String,System.String,System.Boolean,BCrypt.Net.HashType)">
<summary>
Verifies that the hash of the given <paramref name="text"/> matches the provided
<paramref name="hash"/>
</summary>
<param name="text">The text to verify.</param>
<param name="hash"> The previously-hashed password.</param>
<param name="enhancedEntropy">Set to true,the string will undergo SHA384 hashing to make use of available entropy prior to bcrypt hashing</param>
<param name="hashType">HashType used (default SHA384)</param>
<returns>true if the passwords match, false otherwise.</returns>
<exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
<exception cref="T:BCrypt.Net.SaltParseException">Thrown when the salt could not be parsed.</exception>
</member>
<member name="M:BCrypt.Net.BCrypt.EncodeBase64(System.Byte[],System.Int32)">
<summary>
Encode a byte array using BCrypt's slightly-modified base64 encoding scheme. Note that this
is *not* compatible with the standard MIME-base64 encoding.
</summary>
<exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or
illegal values.</exception>
<param name="byteArray">The byte array to encode.</param>
<param name="length"> The number of bytes to encode.</param>
<returns>Base64-encoded string.</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.DecodeBase64(System.String,System.Int32)">
<summary>
Decode a string encoded using BCrypt's base64 scheme to a byte array.
Note that this is *not* compatible with the standard MIME-base64 encoding.
</summary>
<exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or
illegal values.</exception>
<param name="encodedString">The string to decode.</param>
<param name="maximumBytes"> The maximum bytes to decode.</param>
<returns>The decoded byte array.</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.Char64(System.Char)">
<summary>
Look up the 3 bits base64-encoded by the specified character, range-checking against
conversion table.
</summary>
<param name="character">The base64-encoded value.</param>
<returns>The decoded value of x.</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.Encipher(System.Span{System.UInt32},System.Int32)">
<summary>Blowfish encipher a single 64-bit block encoded as two 32-bit halves.</summary>
<param name="blockArray">An array containing the two 32-bit half blocks.</param>
<param name="offset"> The position in the array of the blocks.</param>
</member>
<member name="M:BCrypt.Net.BCrypt.StreamToWord(System.ReadOnlySpan{System.Byte},System.Int32@)">
<summary>Cyclically extract a word of key material.</summary>
<param name="data">The string to extract the data from.</param>
<param name="offset"> [in,out] The current offset.</param>
<returns>The next word of material from data.</returns>
</member>
<member name="M:BCrypt.Net.BCrypt.InitializeKey">
<summary>Initializes the Blowfish key schedule.</summary>
</member>
<member name="M:BCrypt.Net.BCrypt.Key(System.ReadOnlySpan{System.Byte})">
<summary>Key the Blowfish cipher.</summary>
<param name="keyBytes">The key byte array.</param>
</member>
<member name="M:BCrypt.Net.BCrypt.EKSKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<summary>
Perform the "enhanced key schedule" step described by Provos and Mazieres in
"A Future Adaptable Password Scheme" http://www.openbsd.org/papers/bcrypt-paper.ps.
</summary>
<param name="saltBytes"> Salt byte array.</param>
<param name="inputBytes">Input byte array.</param>
</member>
<member name="M:BCrypt.Net.BCrypt.CryptRaw(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32)">
<summary>Perform the central hashing step in the BCrypt scheme.</summary>
<exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or
illegal values.</exception>
<param name="inputBytes">The input byte array to hash.</param>
<param name="saltBytes"> The salt byte array to hash with.</param>
<param name="workFactor"> The binary logarithm of the number of rounds of hashing to apply.</param>
<returns>A byte array containing the hashed result.</returns>
</member>
<member name="T:BCrypt.Net.BcryptAuthenticationException">
<inheritdoc />
<summary>Exception for signalling hash validation errors. </summary>
</member>
<member name="M:BCrypt.Net.BcryptAuthenticationException.#ctor">
<inheritdoc />
<summary>Default constructor. </summary>
</member>
<member name="M:BCrypt.Net.BcryptAuthenticationException.#ctor(System.String)">
<inheritdoc />
<summary>Initializes a new instance of <see cref="T:BCrypt.Net.BcryptAuthenticationException" />.</summary>
<param name="message">The message.</param>
</member>
<member name="M:BCrypt.Net.BcryptAuthenticationException.#ctor(System.String,System.Exception)">
<inheritdoc />
<summary>Initializes a new instance of <see cref="T:BCrypt.Net.BcryptAuthenticationException" />.</summary>
<param name="message"> The message.</param>
<param name="innerException">The inner exception.</param>
</member>
<member name="T:BCrypt.Net.HashInformation">
<summary>
HashInformation : A value object that contains the results of interrogating a hash
Namely its settings (2a$10 for example); version (2a); workfactor (log rounds), and the raw hash returned
</summary>
</member>
<member name="M:BCrypt.Net.HashInformation.#ctor(System.String,System.String,System.String,System.String)">
<summary>Constructor. </summary>
<param name="settings">The message.</param>
<param name="version">The message.</param>
<param name="workFactor">The message.</param>
<param name="rawHash">The message.</param>
</member>
<member name="P:BCrypt.Net.HashInformation.Settings">
<summary>
Settings string
</summary>
</member>
<member name="P:BCrypt.Net.HashInformation.Version">
<summary>
Hash Version
</summary>
</member>
<member name="P:BCrypt.Net.HashInformation.WorkFactor">
<summary>
log rounds used / workfactor
</summary>
</member>
<member name="P:BCrypt.Net.HashInformation.RawHash">
<summary>
Raw Hash
</summary>
</member>
<member name="T:BCrypt.Net.HashInformationException">
<summary>
Exception used to signal errors that occur during use of the hash information methods
</summary>
</member>
<member name="M:BCrypt.Net.HashInformationException.#ctor">
<summary>
Default Constructor
</summary>
</member>
<member name="M:BCrypt.Net.HashInformationException.#ctor(System.String)">
<summary>
Initializes a new instance of <see cref="T:BCrypt.Net.HashInformationException" />.
</summary>
<param name="message"></param>
</member>
<member name="M:BCrypt.Net.HashInformationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of <see cref="T:BCrypt.Net.HashInformationException" />.
</summary>
<param name="message"></param>
<param name="innerException"></param>
</member>
<member name="T:BCrypt.Net.HashType">
<summary>
Type of SHA implementation to use
Keys will be hashed, then base64 encoded before being passed to crypt.
Unless legacy is selected in which case simply SHA384 hashed.
</summary>
</member>
<member name="T:BCrypt.Net.SaltParseException">
<summary>Exception for signalling parse errors during salt checks. </summary>
</member>
<member name="M:BCrypt.Net.SaltParseException.#ctor">
<summary>Default constructor. </summary>
</member>
<member name="M:BCrypt.Net.SaltParseException.#ctor(System.String)">
<summary>Initializes a new instance of <see cref="T:BCrypt.Net.SaltParseException" />.</summary>
<param name="message">The message.</param>
</member>
<member name="M:BCrypt.Net.SaltParseException.#ctor(System.String,System.Exception)">
<summary>Initializes a new instance of <see cref="T:BCrypt.Net.SaltParseException" />.</summary>
<param name="message"> The message.</param>
<param name="innerException">The inner exception.</param>
</member>
</members>
</doc>

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="plcIp" value="192.168.0.1"/>
<add key="plcport" value="60001"/>
<add key="offThriftIp" value="127.0.0.1"/>
<add key="offThriftport" value="7914"/>
<add key="useBackMaterial" value="0"/>
</appSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><system.serviceModel>
<bindings/>
<client/>
</system.serviceModel>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data></configuration>

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data></configuration>

File diff suppressed because it is too large Load Diff

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target xsi:type="File" name="LogFile" fileName="${basedir}/logs/logfile_${date:format=yyyyMMdd}.log"/>
</targets>
. <rules>
<logger name="loggerFile" minlevel="Info" writeTo="LogFile"></logger>
</rules>
</nlog>
</configuration>

File diff suppressed because it is too large Load Diff

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Buffers</name>
</assembly>
<members>
<member name="T:System.Buffers.ArrayPool`1">
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
</member>
<member name="M:System.Buffers.ArrayPool`1.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create">
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class using the specifed configuration.</summary>
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class with the specified configuration.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
<summary>Retrieves a buffer that is at least the requested length.</summary>
<param name="minimumLength">The minimum length of the array.</param>
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
<summary>Returns an array to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method on the same <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method.</param>
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="clearArray">clearArray</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method will not see the content of the previous caller. If <paramref name="clearArray">clearArray</paramref> is set to false or if the pool will release the buffer, the array&amp;#39;s contents are left unchanged.</param>
</member>
<member name="P:System.Buffers.ArrayPool`1.Shared">
<summary>Gets a shared <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
<returns>A shared <see cref="System.Buffers.ArrayPool`1"></see> instance.</returns>
</member>
</members>
</doc>

@ -1,355 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Memory</name>
</assembly>
<members>
<member name="T:System.Span`1">
<typeparam name="T"></typeparam>
</member>
<member name="M:System.Span`1.#ctor(`0[])">
<param name="array"></param>
</member>
<member name="M:System.Span`1.#ctor(System.Void*,System.Int32)">
<param name="pointer"></param>
<param name="length"></param>
</member>
<member name="M:System.Span`1.#ctor(`0[],System.Int32)">
<param name="array"></param>
<param name="start"></param>
</member>
<member name="M:System.Span`1.#ctor(`0[],System.Int32,System.Int32)">
<param name="array"></param>
<param name="start"></param>
<param name="length"></param>
</member>
<member name="M:System.Span`1.Clear">
</member>
<member name="M:System.Span`1.CopyTo(System.Span{`0})">
<param name="destination"></param>
</member>
<member name="M:System.Span`1.DangerousCreate(System.Object,`0@,System.Int32)">
<param name="obj"></param>
<param name="objectData"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.DangerousGetPinnableReference">
<returns></returns>
</member>
<member name="P:System.Span`1.Empty">
<returns></returns>
</member>
<member name="M:System.Span`1.Equals(System.Object)">
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.Fill(`0)">
<param name="value"></param>
</member>
<member name="M:System.Span`1.GetHashCode">
<returns></returns>
</member>
<member name="P:System.Span`1.IsEmpty">
<returns></returns>
</member>
<member name="P:System.Span`1.Item(System.Int32)">
<param name="index"></param>
<returns></returns>
</member>
<member name="P:System.Span`1.Length">
<returns></returns>
</member>
<member name="M:System.Span`1.op_Equality(System.Span{`0},System.Span{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Implicit(System.ArraySegment{T})~System.Span{T}">
<param name="arraySegment"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Implicit(System.Span{T})~System.ReadOnlySpan{T}">
<param name="span"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Implicit(T[])~System.Span{T}">
<param name="array"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Inequality(System.Span{`0},System.Span{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.Slice(System.Int32)">
<param name="start"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.Slice(System.Int32,System.Int32)">
<param name="start"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.ToArray">
<returns></returns>
</member>
<member name="M:System.Span`1.TryCopyTo(System.Span{`0})">
<param name="destination"></param>
<returns></returns>
</member>
<member name="T:System.SpanExtensions">
</member>
<member name="M:System.SpanExtensions.AsBytes``1(System.ReadOnlySpan{``0})">
<param name="source"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsBytes``1(System.Span{``0})">
<param name="source"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsSpan(System.String)">
<param name="text"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsSpan``1(System.ArraySegment{``0})">
<param name="arraySegment"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsSpan``1(``0[])">
<param name="array"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.CopyTo``1(``0[],System.Span{``0})">
<param name="array"></param>
<param name="destination"></param>
<typeparam name="T"></typeparam>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.Byte)">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.Byte)">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},``0)">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},``0)">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<param name="value2"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<param name="value2"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="values"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="values"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.NonPortableCast``2(System.ReadOnlySpan{``0})">
<param name="source"></param>
<typeparam name="TFrom"></typeparam>
<typeparam name="TTo"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.NonPortableCast``2(System.Span{``0})">
<param name="source"></param>
<typeparam name="TFrom"></typeparam>
<typeparam name="TTo"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
<param name="first"></param>
<param name="second"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual``1(System.Span{``0},System.ReadOnlySpan{``0})">
<param name="first"></param>
<param name="second"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith``1(System.Span{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="T:System.ReadOnlySpan`1">
<typeparam name="T"></typeparam>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(`0[])">
<param name="array"></param>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(System.Void*,System.Int32)">
<param name="pointer"></param>
<param name="length"></param>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32)">
<param name="array"></param>
<param name="start"></param>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32,System.Int32)">
<param name="array"></param>
<param name="start"></param>
<param name="length"></param>
</member>
<member name="M:System.ReadOnlySpan`1.CopyTo(System.Span{`0})">
<param name="destination"></param>
</member>
<member name="M:System.ReadOnlySpan`1.DangerousCreate(System.Object,`0@,System.Int32)">
<param name="obj"></param>
<param name="objectData"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.DangerousGetPinnableReference">
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.Empty">
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.Equals(System.Object)">
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.GetHashCode">
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.IsEmpty">
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.Item(System.Int32)">
<param name="index"></param>
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.Length">
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Equality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Implicit(System.ArraySegment{T})~System.ReadOnlySpan{T}">
<param name="arraySegment"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Implicit(T[])~System.ReadOnlySpan{T}">
<param name="array"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Inequality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32)">
<param name="start"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32,System.Int32)">
<param name="start"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.ToArray">
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.TryCopyTo(System.Span{`0})">
<param name="destination"></param>
<returns></returns>
</member>
</members>
</doc>

@ -1,200 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Runtime.CompilerServices.Unsafe</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.Unsafe">
<summary>Contains generic, low-level functionality for manipulating pointers.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.Int32)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.IntPtr)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.IntPtr)">
<summary>Adds a byte offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="byteOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
<summary>Determines whether the specified references point to the same location.</summary>
<param name="left">The first reference to compare.</param>
<param name="right">The second reference to compare.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> point to the same location; otherwise, false.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)">
<summary>Casts the given object to the specified type.</summary>
<param name="o">The object to cast.</param>
<typeparam name="T">The type which the object will be cast to.</typeparam>
<returns>The original object, casted to the given type.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)">
<summary>Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</summary>
<param name="source">The reference to reinterpret.</param>
<typeparam name="TFrom">The type of reference to reinterpret..</typeparam>
<typeparam name="TTo">The desired type of the reference.</typeparam>
<returns>A reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsPointer``1(``0@)">
<summary>Returns a pointer to the given by-ref parameter.</summary>
<param name="value">The object whose pointer is obtained.</param>
<typeparam name="T">The type of object.</typeparam>
<returns>A pointer to the given value.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(System.Void*)">
<summary>Reinterprets the given location as a reference to a value of type <typeparamref name="T">T</typeparamref>.</summary>
<param name="source">The location of the value to reference.</param>
<typeparam name="T">The type of the interpreted location.</typeparam>
<returns>A reference to a value of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ByteOffset``1(``0@,``0@)">
<summary>Determines the byte offset from origin to target from the given references.</summary>
<param name="origin">The reference to origin.</param>
<param name="target">The reference to target.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>Byte offset from origin to target i.e. <paramref name="target">target</paramref> - <paramref name="origin">origin</paramref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(System.Void*,``0@)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A reference to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(``0@,System.Void*)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A pointer to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Byte@)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SizeOf``1">
<summary>Returns the size of an object of the given type parameter.</summary>
<typeparam name="T">The type of object whose size is retrieved.</typeparam>
<returns>The size of an object of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.Int32)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.IntPtr)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.IntPtr)">
<summary>Subtracts a byte offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="byteOffset"></param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Write``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Byte@,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
</members>
</doc>

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data></configuration>

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data></configuration>

@ -1,17 +0,0 @@
<?xml version="1.0" standalone="yes"?>
<ConnectionConfig>
<Recommand>强烈建议:对数据库以及本软件的参数更改,不要在此页进行.可以通过系统配置页进行更新.</Recommand>
<!--测试数据库-->
<!--本机-->
<MySqlConnectionString>vadMWi9D6ZBkwIr78LoLmGwiSCvVnpY3nMB7IyQlxFiV2OD5s5WUgOabwGwWK3THmyUqdarOD4hLgFIvnCg0Z5JcMnCcII6fP2O7usaxD2yxms2iG3eLDegOrDQOCCjq</MySqlConnectionString>
<sqlConnectionString>vadMWi9D6ZBkwIr78LoLmGwiSCvVnpY3nMB7IyQlxFiV2OD5s5WUgOabwGwWK3THmyUqdarOD4hLgFIvnCg0Z5JcMnCcII6fP2O7usaxD2yxms2iG3eLDegOrDQOCCjq</sqlConnectionString>
<!--内网-->
<!--<MySqlConnectionString>DzcynNo9wI3U333HTwNyHtpazMtAq6qvUeaqcpctCT9Jnm9IRlHDogE5DvGjRk3tvCzQTaSDGuoD9zNO7I5mahV5Wkh+8uLt1PNMLdG8Z/vE8hCWrx/J8BIElJOCITrBJyyNu4CFdDcK+JiR7dM6TeqqngkSlFNq</MySqlConnectionString>-->
<!--外网-->
<!--<MySqlConnectionString>DzcynNo9wI3ywVb21cBfnzwp/kq/a9Hv3j/RHiY7MAlt++hShhDcjSIbLVJjEg66tFynHRz0lqcDJ5AloVh6ED1PsnJ7S3eXU3rgFonUuEQqvzhrIJkqYlgtYJb8/plmcIIVLj17qZpLqMLN+OFL8J8KXYedfvtOu+pVw5QWXHI=</MySqlConnectionString>-->
<MESConnectionString>DzcynNo9wI1uIoRP8Es6o5sPtNyqInEVfOSqkNUEDdwVu/vFUCCx9wpZm6AbpkssA6yYWow1IOZQDYB7qhNqrkR9P/VQ49pswLX9sczl1+L7hIWa5YESEFeOzH8vSTgVeKVqkVH2oNdQ9pP3kFACoCqLHyF863UMAI+hNtOK1gM=</MESConnectionString>
<!--正式数据库-->
<!--<MySqlConnectionString>igZ3PbqeXzez1HUpTvRW4+LN/9fIQE8w7lqtFwpDujEJchOzHF4jJWgEwT3oxB+uW0XXOd7lwTdL1w6kdh7LQieRTzhe4Z2yGk1RKM8hcNnxWfNsUqIOH89niuwO6y1z</MySqlConnectionString>-->
</ConnectionConfig>

@ -1,117 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<!--在出现什么级别的错误才记录错误 【注意如果有多个appender-ref的时候应该给他们放到同一个root节点下】-->
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender"/>
<!--<appender-ref ref="MachineWainingLog"/>
<appender-ref ref="ErrorInfoLog"/>-->
</root>
<!--写入到文件-->
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<!--文件路径如果RollingStyle为Composite或Date则这里设置为目录文件名在DatePattern里设置其他则这里要有文件名。已经扩展支持虚拟目录-->
<param name="File" value="LogInfo\\" />
<!--将日记写入到跟目录下面的Log文件夹下面的LogInfo文件夹下面的yyyy-MM-dd.TXT文件中-->
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaximumFileSize" value="10240KB" />
<param name="StaticLogFileName" value="false" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd.TXT" />
<!--TXT后缀必须是大写的否则有问题-->
<param name="CountDirection" value="-1" />
<!--log4net记录错误的格式(即:用什么样的格式(布局)来记录错误)-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value=" 【时间】:%d%n 【级别】:%p%n 【类名】:%c%n 【线程ID】: %thread %n 【文件地址】:%F 第%L行%n 【日志内容】:%m%n 【日记详细】:%exception %n---------------------------------------------------------------------------------------------------------------%n" />
</layout>
</appender>
<!--写入到文件 将WARN级别的单独记录作为机器警告记录-->
<appender name="MachineWainingLog" type="log4net.Appender.RollingFileAppender,log4net">
<!--文件路径如果RollingStyle为Composite或Date则这里设置为目录文件名在DatePattern里设置其他则这里要有文件名。已经扩展支持虚拟目录-->
<param name="File" value="LogInfo\\MachineWainingLog\\" />
<!--将日记写入到跟目录下面的Log文件夹下面的LogInfo文件夹下面的yyyy-MM-dd.TXT文件中-->
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaximumFileSize" value="10240KB" />
<param name="StaticLogFileName" value="false" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="\MWL_yyyy-MM-dd.TXT" />
<!--TXT后缀必须是大写的否则有问题-->
<param name="CountDirection" value="-1" />
<!--log4net记录错误的格式(即:用什么样的格式(布局)来记录错误)-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%d] %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="WARN" />
</filter>
</appender>
<!--写入到文件 将Error级别的单独记录作为机器警告记录-->
<appender name="ErrorInfoLog" type="log4net.Appender.RollingFileAppender,log4net">
<!--文件路径如果RollingStyle为Composite或Date则这里设置为目录文件名在DatePattern里设置其他则这里要有文件名。已经扩展支持虚拟目录-->
<param name="File" value="LogInfo\\ErrorInfoLog\\" />
<!--将日记写入到跟目录下面的Log文件夹下面的LogInfo文件夹下面的yyyy-MM-dd.TXT文件中-->
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaximumFileSize" value="10240KB" />
<param name="StaticLogFileName" value="false" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="\ERROR_yyyy-MM-dd.TXT" />
<!--TXT后缀必须是大写的否则有问题-->
<param name="CountDirection" value="-1" />
<!--log4net记录错误的格式(即:用什么样的格式(布局)来记录错误)-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%d][%p] %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
</log4net>
</configuration>

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

@ -1 +0,0 @@
6996995f725da07b139d6451103ec1152c3ec57f5ed5b30e9c715a28911ae85d

@ -1,46 +0,0 @@
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\Config\log4net.config
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\snap7.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\config\ConnectionConfig.Config
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\NLog.config
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\CentralControl.exe.config
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\CentralControl.exe
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\CentralControl.pdb
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\CommonFunc.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\Google.Protobuf.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\MySql.Data.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\NLog.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\Thrift.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Data.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Models.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Thrift.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\NPOI.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\log4net.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\NPOI.OOXML.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\Newtonsoft.Json.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\QRCoder.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\BCrypt.Net-Next.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\NPOI.OpenXmlFormats.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\NPOI.OpenXml4Net.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Memory.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Numerics.Vectors.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Runtime.CompilerServices.Unsafe.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Buffers.dll
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\CommonFunc.pdb
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\CommonFunc.dll.config
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Data.pdb
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Data.dll.config
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Models.pdb
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Models.dll.config
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\XGL.Thrift.pdb
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\Google.Protobuf.xml
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\NLog.xml
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\BCrypt.Net-Next.xml
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Memory.xml
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Numerics.Vectors.xml
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Runtime.CompilerServices.Unsafe.xml
D:\上位机\lanju-client\shangjian\CentralControl\bin\x86\Release\System.Buffers.xml
D:\上位机\lanju-client\shangjian\CentralControl\obj\x86\Release\CentralControl.csproj.AssemblyReference.cache
D:\上位机\lanju-client\shangjian\CentralControl\obj\x86\Release\CentralControl.csproj.CoreCompileInputs.cache
D:\上位机\lanju-client\shangjian\CentralControl\obj\x86\Release\CentralC.5A9F31E7.Up2Date
D:\上位机\lanju-client\shangjian\CentralControl\obj\x86\Release\CentralControl.exe
D:\上位机\lanju-client\shangjian\CentralControl\obj\x86\Release\CentralControl.pdb

@ -53,6 +53,41 @@ namespace CommonFunc
FileStream fs = new FileStream(subName + "\\ConnectionConfig.Config", FileMode.Open, FileAccess.Read, FileShare.Read);
data = (ConnectionConfig)serializer.Deserialize(fs);
fs.Close();
//HttpContext context = HttpContext.Current;
//data = (ConnectionConfig)context.Cache["ConnectionConfig"];
//if (data == null)
//{
// XmlSerializer serializer = new XmlSerializer(typeof(ConnectionConfig));
// try
// {
// string fileName = context.Server.MapPath(subName);
// if (fileName.Substring(fileName.Length - 1, 1) != "\\")
// fileName += "\\";
// fileName += "ConnectionConfig.Config";
// int i = 0;
// while (!System.IO.File.Exists(fileName) && i <= 10)
// {
// subName = "../" + subName;
// fileName = context.Server.MapPath(subName);
// if (fileName.Substring(fileName.Length - 1, 1) != "\\")
// fileName += "\\";
// fileName += "ConnectionConfig.Config";
// i++;
// }
// FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
// data = (ConnectionConfig)serializer.Deserialize(fs);
// fs.Close();
// context.Cache.Insert("ConnectionConfig", data, new CacheDependency(fileName));
// }
// catch (System.IO.FileNotFoundException)
// {
// data = new ConnectionConfig();
// }
//}
}
catch (Exception ex)
{
@ -61,6 +96,7 @@ namespace CommonFunc
data = (ConnectionConfig)serializer.Deserialize(fs);
fs.Close();
}
return data;
}

@ -1,9 +1,7 @@
using CommonFunc.Tools;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using XGL.Models;
namespace CommonFunc
{
@ -12,6 +10,60 @@ namespace CommonFunc
/// </summary>
public class SqlDataObject
{
/// <summary>
/// 返回一sql连接对象
/// </summary>
/// <param name="path">配置文件的相对路径</param>
/// <returns>数据库连接对象</returns>
public static SqlConnection GetSqlConnection(string path)
{
ConnectionConfig conSetting = DatabaseConfig.GetSettings(path);
return new SqlConnection(CommonFunc.DESProvider.DecryptString(conSetting.SqlConnectionString));
}
/// <summary>
/// 返回一sql连接对象
/// </summary>
/// <returns>数据库连接对象</returns>
public static SqlConnection GetSqlConnection()
{
ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
return new SqlConnection(CommonFunc.DESProvider.DecryptString(conSetting.SqlConnectionString));
}
///// <summary>
///// 返回一oracle连接对象
///// </summary>
///// <param name="path">配置文件的相对路径</param>
///// <returns>数据库连接对象</returns>
//public static OracleConnection GetOracleConnection(string path)
//{
// ConnectionConfig conSetting = DatabaseConfig.GetSettings(path);
// return new OracleConnection(HS.Common.DEncrypt.DESEncrypt.Decrypt(conSetting.OracleConnectionString));
//}
///// <summary>
///// 返回一oracle连接对象
///// </summary>
///// <returns>数据库连接对象</returns>
//public static OracleConnection GetOracleConnection()
//{
// ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
// return new OracleConnection(HS.Common.DEncrypt.DESEncrypt.Decrypt(conSetting.OracleConnectionString));
//}
/// <summary>
/// 返回一sql连接字符串
/// </summary>
public static string GetSqlConnectionString
{
get
{
ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
return CommonFunc.DESProvider.DecryptString(conSetting.SqlConnectionString);
}
}
/// <summary>
/// ·µ»ØÒ»sqlÁ¬½Ó×Ö·û´®
/// </summary>
@ -23,40 +75,27 @@ namespace CommonFunc
return CommonFunc.DESProvider.DecryptString(conSetting.MySqlConnectionString);
}
}
/// <summary>
/// 业务数据库
/// 返回一sql连接字符串
/// </summary>
public static string GetMESSqlConnectionString
{
get
{
string connStr = Utils.GetAppSetting("CloudConnectionString");
return CommonFunc.DESProvider.DecryptString(connStr);
ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
return CommonFunc.DESProvider.DecryptString(conSetting.MESConnectionString);
}
}
/// <summary>
/// 数据
/// 获取云库链接串
/// </summary>
public static string GetCloudSqlConnectionString
{
get
{
string connStr = Utils.GetAppSetting("CloudConnectionString");
return CommonFunc.DESProvider.DecryptString(connStr);
}
}
/// <summary>
/// 获取本地业务库
/// </summary>
public static string GetMESClientSqlConnectionString
{
get
{
string connStr = Utils.GetAppSetting("MESClientConnectionString");
return CommonFunc.DESProvider.DecryptString(connStr);
ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
return CommonFunc.DESProvider.DecryptString(conSetting.CloudConnectionString);
}
}
@ -67,22 +106,56 @@ namespace CommonFunc
{
get
{
string sql = $"SELECT db_url FROM sys_datasource where pool_name = '{"ds_"+Utils.GetAppSetting("SiteCode")}'";
string sql = $"SELECT db_url FROM[dbo].[sys_datasource] where dept_id = '{Utils.GetAppSetting("SiteCode")}'";
DataTable dt = Utils.cloudDBHelper.getDataSet(sql).Tables[0];
if (dt == null || dt.Rows.Count <= 0 || string.IsNullOrEmpty(dt.Rows[0][0].ToString()))
{
string connStr = Utils.GetAppSetting("MESNetClientConnectionString");
return CommonFunc.DESProvider.DecryptString(connStr);
ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
return CommonFunc.DESProvider.DecryptString(conSetting.MESNetClientConnectionString);
}
else
{
string connStr= dt.Rows[0][0].ToString();
//更新网络业务库连接字符串
Utils.SetAppSetting("MESNetClientConnectionString", CommonFunc.DESProvider.EncryptString(connStr));
//返回网络业务库连接字符串
return connStr;
return dt.Rows[0][0].ToString();
}
}
}
/// <summary>
/// 获取本地业务库
/// </summary>
public static string GetMESClientSqlConnectionString
{
get
{
ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
return CommonFunc.DESProvider.DecryptString(conSetting.MESClientConnectionString);
}
}
///// <summary>
///// 返回一oracle连接字符串
///// </summary>
//public static string GetOracleConnectionString
//{
// get
// {
// ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
// return HS.Common.DEncrypt.DESEncrypt.Decrypt(conSetting.OracleConnectionString);
// }
//}
///// <summary>
///// 返回一ado连接字符串
///// </summary>
//public static string GetAdoConnectionString
//{
// get
// {
// ConnectionConfig conSetting = DatabaseConfig.GetSettingsDirectory();
// return HS.Common.DEncrypt.DESEncrypt.Decrypt(conSetting.AdoConnectionString);
// }
//}
}
}

@ -29,12 +29,6 @@ namespace CommonFunc.Tools
public static SqlServerDBHelper cloudDBHelper = new SqlServerDBHelper(SqlDataObject.GetCloudSqlConnectionString);
public static SqlServerDBHelper clientDBHelper = new SqlServerDBHelper(SqlDataObject.GetMESClientSqlConnectionString);
public static SqlServerDBHelper netClientDBHelper = new SqlServerDBHelper(SqlDataObject.GetMESNetClientSqlConnectionString);
public static void ResetNetClientDBHelper()
{
netClientDBHelper = new SqlServerDBHelper(SqlDataObject.GetMESNetClientSqlConnectionString);
}
public static List<sys_user> userList { get; set; }
public static string GetServerIP()
{
@ -248,20 +242,19 @@ namespace CommonFunc.Tools
public static void SetAppSetting(string key, string value)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (!ConfigurationManager.AppSettings.AllKeys.Contains(key))
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add(key, value);
config.Save();
//return;
}
else
{
config.AppSettings.Settings[key].Value = value;
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings[key].Value = value;
cfa.Save();
}
// 指定保存模式为 Modified修改过的
config.Save(ConfigurationSaveMode.Modified);
// 强制刷新内存中的缓存,让下一次读取直接从磁盘文件获取最新值
ConfigurationManager.RefreshSection("appSettings");
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save