From a303714a635d3146132582a2408fc8cf76a69947 Mon Sep 17 00:00:00 2001 From: wangkaiyi Date: Mon, 12 Aug 2024 12:11:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?OTA=E5=8C=85=E6=9B=B4=E6=96=B0=E3=80=81?= =?UTF-8?q?=E5=9B=9E=E6=BB=9A=EF=BC=9BapiClient=E4=B8=AD=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net7.0/MasstransferCommon.AssemblyInfo.cs | 2 +- ...asstransferCommon.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 4 +- .../net7.0/MasstransferCommon.assets.cache | Bin 3632 -> 21612 bytes ...nsferCommon.csproj.AssemblyReference.cache | Bin 2222 -> 8759 bytes ...asstransferCommon.csproj.nuget.dgspec.json | 34 +- .../MasstransferCommon.csproj.nuget.g.props | 4 +- .../MasstransferCommon.csproj.nuget.g.targets | 6 +- MasstransferCommon/obj/project.assets.json | 811 +++++++++++++++++- MasstransferCommon/obj/project.nuget.cache | 31 +- .../obj/project.packagespec.json | 2 +- .../obj/rider.project.model.nuget.info | 2 +- .../obj/rider.project.restore.info | 2 +- MasstransferExporter.sln | 6 + .../MasstransferExporter.AssemblyInfo.cs | 2 +- ...stransferExporter.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 4 +- .../net7.0/MasstransferExporter.assets.cache | Bin 60595 -> 67030 bytes ...stransferExporter.csproj.nuget.dgspec.json | 98 ++- .../MasstransferExporter.csproj.nuget.g.props | 8 +- ...asstransferExporter.csproj.nuget.g.targets | 3 +- MasstransferExporter/obj/project.assets.json | 626 ++++++++++++-- MasstransferExporter/obj/project.nuget.cache | 221 ++--- .../obj/project.packagespec.json | 2 +- .../obj/rider.project.model.nuget.info | 2 +- .../obj/rider.project.restore.info | 2 +- MasstransferInfrastructure/Http/ApiClient.cs | 14 + .../OTA/Client/OTAClient.cs | 179 ++++ .../OTA/Model/UpdateInfo.cs | 8 + .../OTA/Service/OTAService.cs | 126 +++ UnitTest/OTATest.cs | 31 + UnitTest/UnitTest.csproj | 28 + 32 files changed, 2043 insertions(+), 219 deletions(-) create mode 100644 MasstransferInfrastructure/OTA/Client/OTAClient.cs create mode 100644 MasstransferInfrastructure/OTA/Model/UpdateInfo.cs create mode 100644 MasstransferInfrastructure/OTA/Service/OTAService.cs create mode 100644 UnitTest/OTATest.cs create mode 100644 UnitTest/UnitTest.csproj diff --git a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs index efae774..5a3cb42 100644 --- a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs +++ b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("MasstransferCommon")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c140544af7e52a0669ceafcb39aa5c4e97c5ccae")] [assembly: System.Reflection.AssemblyProductAttribute("MasstransferCommon")] [assembly: System.Reflection.AssemblyTitleAttribute("MasstransferCommon")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache index 93e6b33..e03e6aa 100644 --- a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache +++ b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache @@ -1 +1 @@ -55253de7166d1dd8e0b57bd70c6516d44d5416d0 +bea321349982bc0eb41c769bdac56f18be90a91e28cbb7240ece837e7958e892 diff --git a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.GeneratedMSBuildEditorConfig.editorconfig b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.GeneratedMSBuildEditorConfig.editorconfig index d56473d..e8a0a73 100644 --- a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.GeneratedMSBuildEditorConfig.editorconfig +++ b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,6 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = MasstransferCommon -build_property.ProjectDir = C:\workspace\code_repos\haiju\MasstransferExporter\MasstransferCommon\ +build_property.ProjectDir = C:\Users\wangkaiyi\RiderProjects\MasstransferExporter\MasstransferCommon\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.assets.cache b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.assets.cache index 8c9e8a3e019e2f62f4f4b6b3ebd7662abfe4df47..5211c0cd19212d5df56330ee9c4c108e8d071dd2 100644 GIT binary patch literal 21612 zcmd6v*?%0x5yv6e5(XdG#x^!~d;kI4XjYPCSt1ZHl5Gse5thLuY~qY|NAjS(JTt3< z(!h-{;0|%HQi+j+>u1D>JjEy=do+N`1!i@-?$CYtC41eyUop6c!7n>y<2{VtIwC zW90{pL1Q3avZwOUxSm-lnoe=h=+EEoTaN|SW6omDs~W{p=@Q}eV*Gv$gg&o;tb{ys zaR!RAU2v*yb=otmif4O^(~eoT=Bv&u;TYzW>p5n@v#S+1f5_-J1`bNNVL;uj5+Css zAC-y6DDh#In6vhPjaYjj#Cj>@*%nzBJgedol~JnB%-EHgC@LyZUyY17%;JQ|A`N&I z015aq2mxOXIp0#<&fAp(gND24dREz*LruGR)E{b4Jn3jHLpHuk3_Qu zLNse3_h+D~So0n#j2`uaZncshH~@kJoZw_=aVIRe({*q{POpHF)Af*}8JwQ4n~wKT z{(vzMEA2i07u>}LWJxYILdXTZN5?X_z-wls5#)#B6*?Jw!F_B(p5$XQgnVp)%w+dr zxOQdMHKy&7l|M*tLtoLF>+A0yJv7McQ97RVt&hT*Gh79q#IO}Y4BH@P7KZaB+q3%6 zFZ8+RO9i`j&T{et#;7q6dgndHZJ@tx$5zd1I3Mi6mV0(?kW;-D6hyTXLR7mTg;uFV2bzV$@7!4Txf}kt z|2_EpaI5}nPIb;MT8@!gFZ7xRk44mnE(x!fYhqm2;`6;(xct7uC{&A9v0BcL@K*!f zcs}S`j4^yaUM+Kv*9niW!*6;L*F&Dl(m4m68(dbV?U}k`(wGtbR5mLZ_#D6IQ)8T8 zB?0YNBx&T+-9b_gdV>JnD?s<*ccvy2I4hzZ)38yfmdof26TPvhp>bh0=9_W<`-Okm z4c~~*4`hEdL1mON6r?_#pwMK({q_mJ@&Ot6>}L1tT7|lUao#Ws1_pn@ON%s6K4+@gUO!?OyWRV};rhab(+CPHJ*av;VsgwM0tSUrshkBosP_?JfOD-5FW$VibKa>-_W#D+#S z(r%Av5n}QYi41l}40MAKS*?wZ5~SLzRJ@nhb=73ON!y9iH|xbWVHZc*HBxJptIi^6 zb_k8W8zPH+af|e>fXuIso3q!GzTYaoPrfwtEzMN6=^A3rpSRJZ>kx$Aoe>C4#zrAD zIeb0jX2>m&H$Vo$mep+TlnW+aGIyFjQSLN-(&c_D^qXVNG8Y8@5iiV!^BXXINLT^e*FS9P??a=Q@z9P9;oGr7vN@TY+ zCA%@`x9eW5oCuj^MidYe7X`#Ru5swMh*l9c*PI_x$vkLGraWj&*5z>odTJEcWa!{w z=FhIWvxKlvF3H}P0O@aPwaaShfH6|rCq`=f%Wuhmf$}ATE-w`@3cgg(nI!_|j4u%^ z#nJ%FnlBA3$&vuen=c7;CE#JcsS~5-Or2PVmjIYoz68*L$t3f1ohTpmi_2#c$pHBz zvg4CS=9f<%J2q)#{`jP^>yt&s!6%E$X_Ckg`6RKclS9V9Cx=~|6f*yOQixaAUyAKc zJc2bj8sq7Q$0M{7MZwll$T7$rkmHa$A$LKRRlLH=z~dDv15F@wWjF!-@{4C!L3lhv z1)(hvT|w@KzRU3rqvY`pQPS3kj`Ae*or#AS43CEh#@{l*?|A!tBSB`E7-ZN=q2@+E zJYFK#w3VW(hY9GHB%Wf$=J6EyrY#no?|Y!{O1#C`c)UeywDqE6I|Y4*<1t3X<1wP5 zEg2ovB=oP|R!tAQ(~oYeMn`)ZwwXdIfB8#nEVZ$PBe{0NAH~vg3uzDj)^Xhn{j0gP zBYAaOJ38L`z}tZ+owYw6rBnO6KBeZ)K)-yVcvb)&#Zv)jD@a$B_d}nlN&cT(MDh{y zD4)1!i%7@yCg?jh3t;ucX92`RTSq#cH$&g`SpwtavjpO#EhQc21JEz0Sp+KrpG8m+ z22+ZVhrX+`493W38N^6iP`YY<3-n!^g)lxo3n4z*n$q#T6?z&oAIlI#mDPzQ?4aq7 zr6r=ztLYxdm2o|-)fEnA| z!TB*d{-BCrmTGpz>NA~kzJeY3Ig1L!jwcvyRbpFk&&SVcd?xG}$Q=+l-8zTA3EPGc z_Ja_wW7xw(ErZVjNC#emp1{ix0&P3*ykaH?LZz~;`*L)u$OE( zeeJEe+JUQdT*ys{{WD5=pTfh&_4tr^bbQi^NzX) zM*A09en+1LkB<8z&=dDZA;kSLNN0NTc53_MpwUr(0(zqUB!sA+gLH^`WVq$J{uF3* z)Srf)s6PWC>d!(RS>kuIj6;ApBUi$Fm->~|m$SHtfh=v<{~W+{1^7JlRDdr)r~qGt zJk-Ggq&Jy{_+J8+4*$#06aMoM!v6|nsmG(L>&GnZ)%#ZgqyzsN^aTEO2!VeCvea=d zfwx)TF91h}{UY>){Y?mAe+yDx;^u-G9Unh=RLdrC@tM%KL82r64)jF)T?i3>50Ysv z-$H~ah{G0=k@@>z(J{XSJu&|PLd-vebfT77n=m~lXLeR8^l4YaX4WJW;@KrT4V0K?3 zJpacReB#ThzXya4_7Bh#>>nW#_Ch-+<#k8*b>!@Bh5i67FGYOO^-n3K__HVlukz>G zDMi!s{#lEZe&UyxFTNuCmz47TRa3r9bE2S0q2cHc<~J$L8SN>3`4Y#MLSIRN|CBe`Z3F!2(F+WFKQ3fZ{#-j;SMV<@~rgFH?Ns6y>rJaBKbbVgt_P~)m-Fk zbnsm08MJUlzb82CJSs9r6V8PTugy+MldtRt{81>}61`1R4Cb-%9RYIK@Q%Pr|6u|Rh2b^N_>F>|;OO>iSr)Ow-2@@-9P|XIwKp;2@S>%>jIh!_m%W+U$Ya;Y zNOMbJUF-<-S|(?g1arZC1iITug=u#4!GCar{Q@JIPs(M(=gZG5LCI!m0dNVN>0COBAX@4L_a*NIEl;py`qoac-%c+u9fV9?UfeCt!Zrh6jvTK zORjb4Da);v=B(n1(@x!5LB04b86vx>)c>I1bcWR7P8%*TX8Df=Ml)nu32&&gJM8@# zQbtZsWl4bjknmdhkqjP0f(CcQZ_Sd6<~EqT<$Y6@^!mtl)nVGtIlWl3dPN|zYOGpY zJW(x}r4=4p#fEXq^=#TCtX3xLQ`APbq>SbU8y=h7xTAL7$IP3Lrn^FG{rI?1Gx}W? z4sw^Xv23&aJ32b8jgB@uBHeZThWe(+w{kqVE~3?4prev+NOs|UO2vBK)P7iY5y@^= z_R!Iuba%WXOWfKO;fA3)rN&*|&Ul8gK1_Dq`tE5&#=N}j^Oy-ntuv|XiA_erDBd4tEKtivoDG?wi$Z=Ln!3SoFiWg9|RrPMl5 z)?u~{Hk>sOp>+shmDHOcAcFniR0?G-D4J{^hc8Z0?x^`{uI!i9CPBphZYqjOAW@oa z2=A00QWC5cI3k}xX&wV=&`?y8n1=?fWw-Q_n&gTo*6@%jI0tLg&8P(22kSi&U5&P; zSOQ*CP^+dXfc$;d)aRzG1x@2!*?2>aSc``2>r@{hAR1MOvK0udXohnR&SL{a@5+v1#s=Glp~IM6ulT$-?lA05 zV=k4YbQ$)dG0U)$g_F>7mC~pZ_$6hP9Lr4E`EFU2#q6RbWp;i^@mXaQI1GD)SVqb& za2USfF}s+<&@ON|GOR|Q9PNvtC-PUM*}6$`=A@G3GjFABl@BnHWCi6hAis`JbHwB+ z$)HkD`Ozo(|Jx&|<^Ri-Orb^)?t`roM(2Ubn&%H|nSazeQp=KttVf#^Oidya(@d3; k1F!<7r#za~XXA;h%BC4W<7^H#p*f@7wNa^3oa5fJH?@(U>?f4xQ67Fqft?1sdbK55AcA zWQ@Pyv(caM(J$}|e0S~63_YEWS`x}hRxkTp);{~JbM{_)xV&(xt*!0b_x<;8Q%~6P z{Fl$;zdpU{8vfA!vobXH=IiUThSVCUam~;z_Gt&y& zold3h%-sm$&Q?b+VKnbX6tv_91)ALG2A((RM#Zw3F62ywDW)#X^P8T-{Z>Y_+SW6-3uz7`ZWGiqf)t0ejz_f%CoSu*$3$DK@luBjFhvQp%eJ`T~jDn#E0P*mao-Gu~j2IvQp zzyL4^#9TMTs_MO&ByXBY@(!AL7WT=;4TwG=d&^OrXgQK;&~oQsA86R6Sk}5g>3P|g{zN|PA zFtb(!5RUUOnGYGpcC$j>%6+2X752Zx&TkJ9>nlM4mQJi1_6 z%-*OJS;Q55bkQtU9+^2=3)zTHJk2ayHDntS%a%7OR*3*5b#sDAdcW%>5N|x<{)P&P z4u0CZdLpi#_`fqh7~RxG9jM<Zqk5D;256D zCRJ;BS{Jk~fC!3f1(6C;dC+4ih^19=L910-wJqqIOhSeT*1^(qd=2L$Oy=In-2d<1 z`z>P(*fJOl;9Y^gFhYeYRl)=alf*#MM5z$O)DjdI#zJrmBtca|kwT5Zi7=$XWhjWD zIIK{jLN>?-SwfjqBqY93;Sh#EN`wtEg)>QOf!11}OpL`9AR?0i0P%B-ZqtzO_Fgmv z0Kj$tJJLjB_Vf!#A-*yCfVf}cQ}+(c8Q=CG>g}(m=B@UT)p!w(mANtS)g&A(Z`t*P;8OW z)JY2HN#7kX(FVw{(tY*{ZKx}-Rdaf>R_XP`zsAF~$6?_!SPUbL?f|39-@|DB7tPaa z54!m0b*xA$Q=XkSD&5lI>N?36j~;wq5Sca83h!EMQs1>&m_U#Ww@3PFHa=;^!Ba95|&4?66y0v^OYnc-of* zc=hF#$l*Lk)N+0 zhtKvy5D4{Q5^vL?Xo`hG{}n)xdStCsOJXA-YQpoGjzc zM_JTg&{UfTZErxsT$3OA9MObKy#DWVMMhf#Dpg1tLzO9UgK8)VQjEg}Rf#Gbm80=Q zdr=9Ara`m~UC%Y_Ad5)raMF4fX-)MEBtNt~zeSSt3JD~oNGymHfpf?FfL+u?z%l5w|Zx3Dp5nIOHom}r>U(;fHW# zkmG>WQ#OEw9-!{NbjL4Hz`sK6Q&z}Ey_GD=W|vui-QbReuNX0V^1~-vM+;^>nED#x z?9sg2{B&r}+6eZ?bK264)=avaUDCksOfG5msJnlNbNc8>(-Ic2vC?#Ger2}DaY<+% zK5uV4<16P+94pcY98nw3@8}#RgmA^EkBANVKq!g~gf55%x;QnY#Fq;>AnU1;3?)xc zpfZx}tMl75#b>NN1q>&C(@e)i^YK^8Y{BK0RofWc;@w*=udtK?)^%vb!^mUfR%EtT zmT%*_-EqchjjkCdzMYg+%r1B!vClhepSkbzri<^#-5H&K_)dB3DdzVHex9rA&v4H3 zZ{*(DP~rB|lJe%YF7j-v+8G<(Ub8E9ORc1_uE(!1-%E_`GQO6TeDMC&fVXnG?J^b~ zCiy(5s7;^lb#@0ZM;jo8MXL@SEMgxKANJ!zTqYZai4Uzjh7~oN1{Pu_DUCnzr0jy4WkMRGCGodbv&j=}3MfcYcSwud{%QSrm$)VrKY(@|Z<+3`ziZdu&N zzHHBOk(eWHOPCi&KJ>TfToPDT+nD*K{2kX~;Y~o{Zf)0GaJtOdp(dz0G}Y>>YYyH$ za3J^emX9jNtRFi%to@yufNJxEu7&@Ko!Tk|vGklsUf{j8jOA~&S_Sk(+;U}z53K+2 zHVI~O)x)se9qHD<99@JI8B!lQVAx!kE%xQHAwJ6EL#zR3Koa_3K$R4WQGsHq3>ES; z6Jl=!jrV3U{e0Pd+g>lNaMC)6u%^J(2k(wDCc(YZ-wYU`BdBNBdp!6t?B!w@(LY!U zCn@Dn;e_bmjFU-m)SFoPd8^`Nur&5vR4HVEejtki*>_PG9vY&vr$9E_Ap7Q#AkC=L zZEDpF8e_E)4q&aHsB0$dM~JzbKII3W>Wy9h zUF>RMyk?)n)s0so3xbw5Ec6e9Jl9|Oto`9n=#is~dw!gh<>pzr%ySfP^u#HbTI;%d zHlDI=NX{8k+8Fv^N?rZpo9DSZZ!`pbUwX(UBB##u!iN2I;~CqJcq`0Gzu9m#`I8AV z18gnkotv6e<-j?PTcpK5`OZ%0wn(+1;Z#a4*{)W(buR5ns=En9KQm?uGO4a6+gQ&Z z^Z9JH4+`-RF~?T~L#UrNvkV6pc(BBEn;>);lY0UBEs&7*qkFY%Z4BbnSPdo9;jY|a zIh?S$*BW;f?Q|`#D>)dIyKVC?Rn}4JRqIE1*44GN1V_xoB2HhikA^?zUQb!R^>GHL z?Yeq+sr&S?ZNH4HwBNLCajH0zcPraAwq|@yNru~}X(wwo)>;%NMMr&Jp6D+4qWiUx zBTKs5x=r%ssg8vk9*r)WZeA5^Z@W3;1j*EH%@6K%%gcGdqJFWy7)utH&qtYTJ`DLn zA|8h~5X+>&vW!(K;-v_x1fN;In#Gnu1OvHH^=o;qM#tFYxn4ub9LN#ulsCDG7qx~v zPT6>P|Fo*+15u4XPnao{=JwLOu)%UijmgBOWWn&!0__{marh%OiwfFZ&Ztrl2%Wi+P zIjww8rSwAFQdeuc#*U~>MI`g8nNJEQG0$!WB+rfg#c}{=YFE>sfH?n#LQc{BZbjk5R&woSX=p-*ue}@HJ?Rc! zVCnU8t)N2<1Esi;qR|;@>8zPE=xn8_dZ}SzsYI=WG`p(=!#+oH2qX5bmE?Abev6u{ zV6Cg5uQ7qQkLz5mE5&-{dlQ^ikt4B(UV=XM1A6~+H&SG@HJ~zNNOx6e4bxi62r)0y z?5@HJxt!QrA#cNAjiEJrLuV!+%_#8o!5<&eZkoNS3);}~p9?v1zApiAiYX>D1{ ziJj1AwrXwpYD_4Q>Aq=`wB6c97Z_zVlnvXY@%Kg5MJ+#X2h;Xg74=x$ywS7lcGgFK z43C$khHT0mUpnpjr!5!SDldK7uSVu+FM6Nto|(gKe4HIpX%! z8!o4I-o0@T5r&xORqoy7zEtG32laCL{o6o%slvPC-uqF-R@I*bx;du5B0$GD%TMKT z=f2aFN5)d}dUT4-1v7tOVZT@@fV6wIh{+N2#J*w{3*j*#4m8j}n>mP{twLe7l6Xo6 z!sKH?i4ux^HxVSJQaB3ZDDj8|hn`ud;k~}vM~XV%1--s+5WW=i9Tp9`;`P+&K*N0~ zEBfV12048Zs4St~x9Mbwf_|CnlOz^Z%B3puQQ7meVgY4LrNN~8+jMC#?r8=3*bgQ5 zmuuD*^(Rrk0BAZ>xET7NiP0HRB&a}C|2XrRn2Co~r0FcZDFykns4Y6kV|C&7xBllM N?p>txkNNKb{6AdxMhyS} delta 157 zcmdn)vQAKzjgggsfq^mF*(xTqIJKxaCZjYlFTElYNR;MpE@ofBDCUJ#ZgL!t#OAwP rd5mINSmigz@$6xooWRb-gKXmDMmdSiT%ui!VsTh?f#o+zO=ScCo}f3{ diff --git a/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.dgspec.json b/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.dgspec.json index a788d66..0054b16 100644 --- a/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.dgspec.json +++ b/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.dgspec.json @@ -1,25 +1,27 @@ { "format": 1, "restore": { - "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj": {} + "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj": {} }, "projects": { - "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj": { + "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", + "projectUniqueName": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", "projectName": "MasstransferCommon", - "projectPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", - "packagesPath": "C:\\Users\\huangxianguo\\.nuget\\packages\\", - "outputPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\obj\\", + "projectPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", + "packagesPath": "C:\\Users\\wangkaiyi\\.nuget\\packages\\", + "outputPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ - "C:\\Users\\huangxianguo\\AppData\\Roaming\\NuGet\\NuGet.Config" + "C:\\Users\\wangkaiyi\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net7.0" ], "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, "https://api.nuget.org/v3/index.json": {} }, "frameworks": { @@ -38,10 +40,22 @@ "net7.0": { "targetAlias": "net7.0", "dependencies": { + "BouncyCastle.NetCore": { + "target": "Package", + "version": "[2.2.1, )" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "target": "Package", + "version": "[7.0.15, )" + }, "Newtonsoft.Json": { "target": "Package", "version": "[13.0.3, )" }, + "Quartz": { + "target": "Package", + "version": "[3.10.0, )" + }, "Serilog": { "target": "Package", "version": "[4.0.0, )" @@ -53,6 +67,10 @@ "System.Management": { "target": "Package", "version": "[8.0.0, )" + }, + "sqlite-net-sqlcipher": { + "target": "Package", + "version": "[1.9.172, )" } }, "imports": [ @@ -71,7 +89,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.407\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.203\\RuntimeIdentifierGraph.json" } } } diff --git a/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.props b/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.props index f54a2f7..7fafae0 100644 --- a/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.props +++ b/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.props @@ -5,11 +5,11 @@ NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\huangxianguo\.nuget\packages\ + C:\Users\wangkaiyi\.nuget\packages\ PackageReference 6.9.1 - + \ No newline at end of file diff --git a/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.targets b/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.targets index 3dc06ef..ef51956 100644 --- a/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.targets +++ b/MasstransferCommon/obj/MasstransferCommon.csproj.nuget.g.targets @@ -1,2 +1,6 @@  - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/MasstransferCommon/obj/project.assets.json b/MasstransferCommon/obj/project.assets.json index 7ffd1ed..85213e0 100644 --- a/MasstransferCommon/obj/project.assets.json +++ b/MasstransferCommon/obj/project.assets.json @@ -2,6 +2,67 @@ "version": 3, "targets": { "net7.0": { + "BouncyCastle.NetCore/2.2.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/BouncyCastle.Crypto.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/BouncyCastle.Crypto.dll": { + "related": ".xml" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/7.0.15": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/2.1.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Win32.SystemEvents/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Win32.SystemEvents.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Win32.SystemEvents.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, "Newtonsoft.Json/13.0.3": { "type": "package", "compile": { @@ -15,6 +76,23 @@ } } }, + "Quartz/3.10.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.1.1", + "System.Configuration.ConfigurationManager": "6.0.1" + }, + "compile": { + "lib/net6.0/Quartz.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Quartz.dll": { + "related": ".xml" + } + } + }, "Serilog/4.0.0": { "type": "package", "compile": { @@ -44,6 +122,161 @@ } } }, + "sqlite-net-sqlcipher/1.9.172": { + "type": "package", + "dependencies": { + "SQLitePCLRaw.bundle_e_sqlcipher": "2.1.2" + }, + "compile": { + "lib/netstandard2.0/SQLite-net.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/SQLite-net.dll": { + "related": ".xml" + } + } + }, + "SQLitePCLRaw.bundle_e_sqlcipher/2.1.2": { + "type": "package", + "dependencies": { + "SQLitePCLRaw.lib.e_sqlcipher": "2.1.2", + "SQLitePCLRaw.provider.e_sqlcipher": "2.1.2" + }, + "compile": { + "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {} + }, + "runtime": { + "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {} + } + }, + "SQLitePCLRaw.core/2.1.2": { + "type": "package", + "dependencies": { + "System.Memory": "4.5.3" + }, + "compile": { + "lib/netstandard2.0/SQLitePCLRaw.core.dll": {} + }, + "runtime": { + "lib/netstandard2.0/SQLitePCLRaw.core.dll": {} + } + }, + "SQLitePCLRaw.lib.e_sqlcipher/2.1.2": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + }, + "build": { + "buildTransitive/net7.0/SQLitePCLRaw.lib.e_sqlcipher.targets": {} + }, + "runtimeTargets": { + "runtimes/alpine-arm/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "alpine-arm" + }, + "runtimes/alpine-arm64/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "alpine-arm64" + }, + "runtimes/alpine-x64/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "alpine-x64" + }, + "runtimes/browser-wasm/nativeassets/net7.0/e_sqlcipher.a": { + "assetType": "native", + "rid": "browser-wasm" + }, + "runtimes/linux-arm/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-arm" + }, + "runtimes/linux-arm64/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-arm64" + }, + "runtimes/linux-armel/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-armel" + }, + "runtimes/linux-mips64/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-mips64" + }, + "runtimes/linux-musl-arm/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-musl-arm" + }, + "runtimes/linux-musl-arm64/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-musl-arm64" + }, + "runtimes/linux-musl-x64/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-musl-x64" + }, + "runtimes/linux-s390x/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-s390x" + }, + "runtimes/linux-x64/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-x64" + }, + "runtimes/linux-x86/native/libe_sqlcipher.so": { + "assetType": "native", + "rid": "linux-x86" + }, + "runtimes/maccatalyst-arm64/native/libe_sqlcipher.dylib": { + "assetType": "native", + "rid": "maccatalyst-arm64" + }, + "runtimes/maccatalyst-x64/native/libe_sqlcipher.dylib": { + "assetType": "native", + "rid": "maccatalyst-x64" + }, + "runtimes/osx-arm64/native/libe_sqlcipher.dylib": { + "assetType": "native", + "rid": "osx-arm64" + }, + "runtimes/osx-x64/native/libe_sqlcipher.dylib": { + "assetType": "native", + "rid": "osx-x64" + }, + "runtimes/win-arm/native/e_sqlcipher.dll": { + "assetType": "native", + "rid": "win-arm" + }, + "runtimes/win-arm64/native/e_sqlcipher.dll": { + "assetType": "native", + "rid": "win-arm64" + }, + "runtimes/win-x64/native/e_sqlcipher.dll": { + "assetType": "native", + "rid": "win-x64" + }, + "runtimes/win-x86/native/e_sqlcipher.dll": { + "assetType": "native", + "rid": "win-x86" + } + } + }, + "SQLitePCLRaw.provider.e_sqlcipher/2.1.2": { + "type": "package", + "dependencies": { + "SQLitePCLRaw.core": "2.1.2" + }, + "compile": { + "lib/net6.0/SQLitePCLRaw.provider.e_sqlcipher.dll": {} + }, + "runtime": { + "lib/net6.0/SQLitePCLRaw.provider.e_sqlcipher.dll": {} + } + }, "System.CodeDom/8.0.0": { "type": "package", "compile": { @@ -60,6 +293,55 @@ "buildTransitive/net6.0/_._": {} } }, + "System.Configuration.ConfigurationManager/6.0.1": { + "type": "package", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "6.0.0", + "System.Security.Permissions": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Configuration.ConfigurationManager.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Configuration.ConfigurationManager.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Drawing.Common/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Win32.SystemEvents": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Drawing.Common.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Drawing.Common.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/net6.0/System.Drawing.Common.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/net6.0/System.Drawing.Common.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, "System.Management/8.0.0": { "type": "package", "dependencies": { @@ -84,10 +366,176 @@ "rid": "win" } } + }, + "System.Memory/4.5.3": { + "type": "package", + "compile": { + "ref/netcoreapp2.1/_._": {} + }, + "runtime": { + "lib/netcoreapp2.1/_._": {} + } + }, + "System.Security.AccessControl/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Security.AccessControl.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Security.AccessControl.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/System.Security.AccessControl.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Cryptography.ProtectedData/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Security.Cryptography.ProtectedData.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Security.Cryptography.ProtectedData.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Security.Permissions/6.0.0": { + "type": "package", + "dependencies": { + "System.Security.AccessControl": "6.0.0", + "System.Windows.Extensions": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Security.Permissions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Security.Permissions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Windows.Extensions/6.0.0": { + "type": "package", + "dependencies": { + "System.Drawing.Common": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Windows.Extensions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Windows.Extensions.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/System.Windows.Extensions.dll": { + "assetType": "runtime", + "rid": "win" + } + } } } }, "libraries": { + "BouncyCastle.NetCore/2.2.1": { + "sha512": "yfWn8JYPc4rkeM2kcsCqFVFOvwCuuQvIieGtQWcjoWxOioeznXQB3M/GmHgbCWbJjc8ycrwGhZaZPiasifYi4A==", + "type": "package", + "path": "bouncycastle.netcore/2.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "bouncycastle.netcore.2.2.1.nupkg.sha512", + "bouncycastle.netcore.nuspec", + "lib/net45/BouncyCastle.Crypto.dll", + "lib/net45/BouncyCastle.Crypto.xml", + "lib/netstandard2.0/BouncyCastle.Crypto.dll", + "lib/netstandard2.0/BouncyCastle.Crypto.xml" + ] + }, + "Microsoft.EntityFrameworkCore.Abstractions/7.0.15": { + "sha512": "YZYw1g0EGGkWdC+ymHRccQryerGyh7XlcL8nRo3r7kkPurPJgVCCtC+PK5pBwJGPDdwCYMrwHSoAtfEWcqqQjQ==", + "type": "package", + "path": "microsoft.entityframeworkcore.abstractions/7.0.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", + "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", + "microsoft.entityframeworkcore.abstractions.7.0.15.nupkg.sha512", + "microsoft.entityframeworkcore.abstractions.nuspec" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/2.1.1": { + "sha512": "XRzK7ZF+O6FzdfWrlFTi1Rgj2080ZDsd46vzOjadHUB0Cz5kOvDG8vI7caa5YFrsHQpcfn0DxtjS4E46N4FZsA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/2.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.2.1.1.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec" + ] + }, + "Microsoft.Win32.SystemEvents/6.0.0": { + "sha512": "hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==", + "type": "package", + "path": "microsoft.win32.systemevents/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Win32.SystemEvents.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Win32.SystemEvents.dll", + "lib/net461/Microsoft.Win32.SystemEvents.xml", + "lib/net6.0/Microsoft.Win32.SystemEvents.dll", + "lib/net6.0/Microsoft.Win32.SystemEvents.xml", + "lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.dll", + "lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.xml", + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll", + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.xml", + "microsoft.win32.systemevents.6.0.0.nupkg.sha512", + "microsoft.win32.systemevents.nuspec", + "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll", + "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.xml", + "runtimes/win/lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.dll", + "runtimes/win/lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.xml", + "useSharedDesignerContext.txt" + ] + }, "Newtonsoft.Json/13.0.3": { "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", "type": "package", @@ -118,6 +566,27 @@ "packageIcon.png" ] }, + "Quartz/3.10.0": { + "sha512": "9LqcKWFtn5nrj7KX8VASOK8FMgrgMCT9NlHzDtYtVQlKMnOaf45329KnA4dNSmpQqJofZqEJPnsIlnQP4xNbyA==", + "type": "package", + "path": "quartz/3.10.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net462/Quartz.dll", + "lib/net462/Quartz.xml", + "lib/net472/Quartz.dll", + "lib/net472/Quartz.xml", + "lib/net6.0/Quartz.dll", + "lib/net6.0/Quartz.xml", + "lib/netstandard2.0/Quartz.dll", + "lib/netstandard2.0/Quartz.xml", + "quartz-logo-small.png", + "quartz.3.10.0.nupkg.sha512", + "quartz.nuspec", + "quick-start.md" + ] + }, "Serilog/4.0.0": { "sha512": "2jDkUrSh5EofOp7Lx5Zgy0EB+7hXjjxE2ktTb1WVQmU00lDACR2TdROGKU0K1pDTBSJBN1PqgYpgOZF8mL7NJw==", "type": "package", @@ -171,6 +640,109 @@ "serilog.sinks.file.nuspec" ] }, + "sqlite-net-sqlcipher/1.9.172": { + "sha512": "o7W5HfQZCiaVa6MSWr87j6U2xKrDRK5F3Gj/IwdIMYuZ92ETF1wpTZPSE3cQTtaTGcg6HbIVBvU5CYMrZuZh7w==", + "type": "package", + "path": "sqlite-net-sqlcipher/1.9.172", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.txt", + "Logo-low.png", + "lib/netstandard2.0/SQLite-net.dll", + "lib/netstandard2.0/SQLite-net.xml", + "sqlite-net-sqlcipher.1.9.172.nupkg.sha512", + "sqlite-net-sqlcipher.nuspec" + ] + }, + "SQLitePCLRaw.bundle_e_sqlcipher/2.1.2": { + "sha512": "KqemHza33Ya5FKS1xBkWiMK6b11VfQtLrxcjlh01byYyC5iburSeB2UbW3citHpWL2+Vw/zCZrR/9tVU+PjhwA==", + "type": "package", + "path": "sqlitepclraw.bundle_e_sqlcipher/2.1.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/monoandroid90/SQLitePCLRaw.batteries_v2.dll", + "lib/net461/SQLitePCLRaw.batteries_v2.dll", + "lib/net6.0-android31.0/SQLitePCLRaw.batteries_v2.dll", + "lib/net6.0-android31.0/SQLitePCLRaw.batteries_v2.xml", + "lib/net6.0-ios14.0/SQLitePCLRaw.batteries_v2.dll", + "lib/net6.0-ios14.2/SQLitePCLRaw.batteries_v2.dll", + "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll", + "lib/xamarinios10/SQLitePCLRaw.batteries_v2.dll", + "sqlitepclraw.bundle_e_sqlcipher.2.1.2.nupkg.sha512", + "sqlitepclraw.bundle_e_sqlcipher.nuspec" + ] + }, + "SQLitePCLRaw.core/2.1.2": { + "sha512": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", + "type": "package", + "path": "sqlitepclraw.core/2.1.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/SQLitePCLRaw.core.dll", + "sqlitepclraw.core.2.1.2.nupkg.sha512", + "sqlitepclraw.core.nuspec" + ] + }, + "SQLitePCLRaw.lib.e_sqlcipher/2.1.2": { + "sha512": "bYYFK6y9XkNzE6HJCphdbnGr8fyrZ9sibGJzZUw6e5oD0I8gv3lpDhrnz86FfIw/SHolHheoAB4cxE7YWHGVPQ==", + "type": "package", + "path": "sqlitepclraw.lib.e_sqlcipher/2.1.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "buildTransitive/net461/SQLitePCLRaw.lib.e_sqlcipher.targets", + "buildTransitive/net6.0/SQLitePCLRaw.lib.e_sqlcipher.targets", + "buildTransitive/net7.0/SQLitePCLRaw.lib.e_sqlcipher.targets", + "lib/net461/_._", + "lib/netstandard2.0/_._", + "runtimes/alpine-arm/native/libe_sqlcipher.so", + "runtimes/alpine-arm64/native/libe_sqlcipher.so", + "runtimes/alpine-x64/native/libe_sqlcipher.so", + "runtimes/browser-wasm/nativeassets/net6.0/e_sqlcipher.a", + "runtimes/browser-wasm/nativeassets/net7.0/e_sqlcipher.a", + "runtimes/linux-arm/native/libe_sqlcipher.so", + "runtimes/linux-arm64/native/libe_sqlcipher.so", + "runtimes/linux-armel/native/libe_sqlcipher.so", + "runtimes/linux-mips64/native/libe_sqlcipher.so", + "runtimes/linux-musl-arm/native/libe_sqlcipher.so", + "runtimes/linux-musl-arm64/native/libe_sqlcipher.so", + "runtimes/linux-musl-x64/native/libe_sqlcipher.so", + "runtimes/linux-s390x/native/libe_sqlcipher.so", + "runtimes/linux-x64/native/libe_sqlcipher.so", + "runtimes/linux-x86/native/libe_sqlcipher.so", + "runtimes/maccatalyst-arm64/native/libe_sqlcipher.dylib", + "runtimes/maccatalyst-x64/native/libe_sqlcipher.dylib", + "runtimes/osx-arm64/native/libe_sqlcipher.dylib", + "runtimes/osx-x64/native/libe_sqlcipher.dylib", + "runtimes/win-arm/native/e_sqlcipher.dll", + "runtimes/win-arm64/native/e_sqlcipher.dll", + "runtimes/win-x64/native/e_sqlcipher.dll", + "runtimes/win-x86/native/e_sqlcipher.dll", + "runtimes/win10-arm/nativeassets/uap10.0/e_sqlcipher.dll", + "runtimes/win10-arm64/nativeassets/uap10.0/e_sqlcipher.dll", + "runtimes/win10-x64/nativeassets/uap10.0/e_sqlcipher.dll", + "runtimes/win10-x86/nativeassets/uap10.0/e_sqlcipher.dll", + "sqlitepclraw.lib.e_sqlcipher.2.1.2.nupkg.sha512", + "sqlitepclraw.lib.e_sqlcipher.nuspec" + ] + }, + "SQLitePCLRaw.provider.e_sqlcipher/2.1.2": { + "sha512": "9NrrdGK3SNdmgK8CAShcEFGABoo8N3LwM0XN2r0vvX+s1fw7Hej//m4VN0z6EtEqc64N6QO9np7kwDFQj4Xyyw==", + "type": "package", + "path": "sqlitepclraw.provider.e_sqlcipher/2.1.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0-windows7.0/SQLitePCLRaw.provider.e_sqlcipher.dll", + "lib/net6.0/SQLitePCLRaw.provider.e_sqlcipher.dll", + "lib/netstandard2.0/SQLitePCLRaw.provider.e_sqlcipher.dll", + "sqlitepclraw.provider.e_sqlcipher.2.1.2.nupkg.sha512", + "sqlitepclraw.provider.e_sqlcipher.nuspec" + ] + }, "System.CodeDom/8.0.0": { "sha512": "WTlRjL6KWIMr/pAaq3rYqh0TJlzpouaQ/W1eelssHgtlwHAH25jXTkUphTYx9HaIIf7XA6qs/0+YhtLEQRkJ+Q==", "type": "package", @@ -200,6 +772,70 @@ "useSharedDesignerContext.txt" ] }, + "System.Configuration.ConfigurationManager/6.0.1": { + "sha512": "jXw9MlUu/kRfEU0WyTptAVueupqIeE3/rl0EZDMlf8pcvJnitQ8HeVEp69rZdaStXwTV72boi/Bhw8lOeO+U2w==", + "type": "package", + "path": "system.configuration.configurationmanager/6.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Configuration.ConfigurationManager.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Configuration.ConfigurationManager.dll", + "lib/net461/System.Configuration.ConfigurationManager.xml", + "lib/net6.0/System.Configuration.ConfigurationManager.dll", + "lib/net6.0/System.Configuration.ConfigurationManager.xml", + "lib/netstandard2.0/System.Configuration.ConfigurationManager.dll", + "lib/netstandard2.0/System.Configuration.ConfigurationManager.xml", + "runtimes/win/lib/net461/System.Configuration.ConfigurationManager.dll", + "runtimes/win/lib/net461/System.Configuration.ConfigurationManager.xml", + "system.configuration.configurationmanager.6.0.1.nupkg.sha512", + "system.configuration.configurationmanager.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Drawing.Common/6.0.0": { + "sha512": "NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", + "type": "package", + "path": "system.drawing.common/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Drawing.Common.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.Drawing.Common.dll", + "lib/net461/System.Drawing.Common.xml", + "lib/net6.0/System.Drawing.Common.dll", + "lib/net6.0/System.Drawing.Common.xml", + "lib/netcoreapp3.1/System.Drawing.Common.dll", + "lib/netcoreapp3.1/System.Drawing.Common.xml", + "lib/netstandard2.0/System.Drawing.Common.dll", + "lib/netstandard2.0/System.Drawing.Common.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "runtimes/unix/lib/net6.0/System.Drawing.Common.dll", + "runtimes/unix/lib/net6.0/System.Drawing.Common.xml", + "runtimes/unix/lib/netcoreapp3.1/System.Drawing.Common.dll", + "runtimes/unix/lib/netcoreapp3.1/System.Drawing.Common.xml", + "runtimes/win/lib/net6.0/System.Drawing.Common.dll", + "runtimes/win/lib/net6.0/System.Drawing.Common.xml", + "runtimes/win/lib/netcoreapp3.1/System.Drawing.Common.dll", + "runtimes/win/lib/netcoreapp3.1/System.Drawing.Common.xml", + "system.drawing.common.6.0.0.nupkg.sha512", + "system.drawing.common.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.Management/8.0.0": { "sha512": "jrK22i5LRzxZCfGb+tGmke2VH7oE0DvcDlJ1HAKYU8cPmD8XnpUT0bYn2Gy98GEhGjtfbR/sxKTVb+dE770pfA==", "type": "package", @@ -232,35 +868,178 @@ "system.management.nuspec", "useSharedDesignerContext.txt" ] + }, + "System.Memory/4.5.3": { + "sha512": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==", + "type": "package", + "path": "system.memory/4.5.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netcoreapp2.1/_._", + "lib/netstandard1.1/System.Memory.dll", + "lib/netstandard1.1/System.Memory.xml", + "lib/netstandard2.0/System.Memory.dll", + "lib/netstandard2.0/System.Memory.xml", + "ref/netcoreapp2.1/_._", + "system.memory.4.5.3.nupkg.sha512", + "system.memory.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Security.AccessControl/6.0.0": { + "sha512": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", + "type": "package", + "path": "system.security.accesscontrol/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Security.AccessControl.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Security.AccessControl.dll", + "lib/net461/System.Security.AccessControl.xml", + "lib/net6.0/System.Security.AccessControl.dll", + "lib/net6.0/System.Security.AccessControl.xml", + "lib/netstandard2.0/System.Security.AccessControl.dll", + "lib/netstandard2.0/System.Security.AccessControl.xml", + "runtimes/win/lib/net461/System.Security.AccessControl.dll", + "runtimes/win/lib/net461/System.Security.AccessControl.xml", + "runtimes/win/lib/net6.0/System.Security.AccessControl.dll", + "runtimes/win/lib/net6.0/System.Security.AccessControl.xml", + "runtimes/win/lib/netstandard2.0/System.Security.AccessControl.dll", + "runtimes/win/lib/netstandard2.0/System.Security.AccessControl.xml", + "system.security.accesscontrol.6.0.0.nupkg.sha512", + "system.security.accesscontrol.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Security.Cryptography.ProtectedData/6.0.0": { + "sha512": "rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==", + "type": "package", + "path": "system.security.cryptography.protecteddata/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Security.Cryptography.ProtectedData.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.Security.Cryptography.ProtectedData.dll", + "lib/net461/System.Security.Cryptography.ProtectedData.xml", + "lib/net6.0/System.Security.Cryptography.ProtectedData.dll", + "lib/net6.0/System.Security.Cryptography.ProtectedData.xml", + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll", + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "runtimes/win/lib/net461/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/net461/System.Security.Cryptography.ProtectedData.xml", + "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.xml", + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.xml", + "system.security.cryptography.protecteddata.6.0.0.nupkg.sha512", + "system.security.cryptography.protecteddata.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Security.Permissions/6.0.0": { + "sha512": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", + "type": "package", + "path": "system.security.permissions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Security.Permissions.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Security.Permissions.dll", + "lib/net461/System.Security.Permissions.xml", + "lib/net5.0/System.Security.Permissions.dll", + "lib/net5.0/System.Security.Permissions.xml", + "lib/net6.0/System.Security.Permissions.dll", + "lib/net6.0/System.Security.Permissions.xml", + "lib/netcoreapp3.1/System.Security.Permissions.dll", + "lib/netcoreapp3.1/System.Security.Permissions.xml", + "lib/netstandard2.0/System.Security.Permissions.dll", + "lib/netstandard2.0/System.Security.Permissions.xml", + "runtimes/win/lib/net461/System.Security.Permissions.dll", + "runtimes/win/lib/net461/System.Security.Permissions.xml", + "system.security.permissions.6.0.0.nupkg.sha512", + "system.security.permissions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Windows.Extensions/6.0.0": { + "sha512": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==", + "type": "package", + "path": "system.windows.extensions/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net6.0/System.Windows.Extensions.dll", + "lib/net6.0/System.Windows.Extensions.xml", + "lib/netcoreapp3.1/System.Windows.Extensions.dll", + "lib/netcoreapp3.1/System.Windows.Extensions.xml", + "runtimes/win/lib/net6.0/System.Windows.Extensions.dll", + "runtimes/win/lib/net6.0/System.Windows.Extensions.xml", + "runtimes/win/lib/netcoreapp3.1/System.Windows.Extensions.dll", + "runtimes/win/lib/netcoreapp3.1/System.Windows.Extensions.xml", + "system.windows.extensions.6.0.0.nupkg.sha512", + "system.windows.extensions.nuspec", + "useSharedDesignerContext.txt" + ] } }, "projectFileDependencyGroups": { "net7.0": [ + "BouncyCastle.NetCore >= 2.2.1", + "Microsoft.EntityFrameworkCore.Abstractions >= 7.0.15", "Newtonsoft.Json >= 13.0.3", + "Quartz >= 3.10.0", "Serilog >= 4.0.0", "Serilog.Sinks.File >= 5.0.1-dev-00972", - "System.Management >= 8.0.0" + "System.Management >= 8.0.0", + "sqlite-net-sqlcipher >= 1.9.172" ] }, "packageFolders": { - "C:\\Users\\huangxianguo\\.nuget\\packages\\": {} + "C:\\Users\\wangkaiyi\\.nuget\\packages\\": {} }, "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", + "projectUniqueName": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", "projectName": "MasstransferCommon", - "projectPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", - "packagesPath": "C:\\Users\\huangxianguo\\.nuget\\packages\\", - "outputPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\obj\\", + "projectPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", + "packagesPath": "C:\\Users\\wangkaiyi\\.nuget\\packages\\", + "outputPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ - "C:\\Users\\huangxianguo\\AppData\\Roaming\\NuGet\\NuGet.Config" + "C:\\Users\\wangkaiyi\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net7.0" ], "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, "https://api.nuget.org/v3/index.json": {} }, "frameworks": { @@ -279,10 +1058,22 @@ "net7.0": { "targetAlias": "net7.0", "dependencies": { + "BouncyCastle.NetCore": { + "target": "Package", + "version": "[2.2.1, )" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "target": "Package", + "version": "[7.0.15, )" + }, "Newtonsoft.Json": { "target": "Package", "version": "[13.0.3, )" }, + "Quartz": { + "target": "Package", + "version": "[3.10.0, )" + }, "Serilog": { "target": "Package", "version": "[4.0.0, )" @@ -294,6 +1085,10 @@ "System.Management": { "target": "Package", "version": "[8.0.0, )" + }, + "sqlite-net-sqlcipher": { + "target": "Package", + "version": "[1.9.172, )" } }, "imports": [ @@ -312,7 +1107,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.407\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.203\\RuntimeIdentifierGraph.json" } } } diff --git a/MasstransferCommon/obj/project.nuget.cache b/MasstransferCommon/obj/project.nuget.cache index 21ee65a..766d10b 100644 --- a/MasstransferCommon/obj/project.nuget.cache +++ b/MasstransferCommon/obj/project.nuget.cache @@ -1,14 +1,31 @@ { "version": 2, - "dgSpecHash": "G7BHmT4HD4EhvdtwN5WLC+yFWrgNE7L93eN14kEaAdsPlQnFPr/MP4gc5x29sduC6A/XHEEuEtZunQUaIsn1Dw==", + "dgSpecHash": "unISIat3Z07bxHbfaQ5fFQ2qWX+GR/WwRL4AsE9kzvUrz9UOHareaVBe1wl0TMonTmxrFaWype+ijI+XFQaqOg==", "success": true, - "projectFilePath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", + "projectFilePath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj", "expectedPackageFiles": [ - "C:\\Users\\huangxianguo\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\serilog\\4.0.0\\serilog.4.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\serilog.sinks.file\\5.0.1-dev-00972\\serilog.sinks.file.5.0.1-dev-00972.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.codedom\\8.0.0\\system.codedom.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.management\\8.0.0\\system.management.8.0.0.nupkg.sha512" + "C:\\Users\\wangkaiyi\\.nuget\\packages\\bouncycastle.netcore\\2.2.1\\bouncycastle.netcore.2.2.1.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\7.0.15\\microsoft.entityframeworkcore.abstractions.7.0.15.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\2.1.1\\microsoft.extensions.logging.abstractions.2.1.1.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\quartz\\3.10.0\\quartz.3.10.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\serilog\\4.0.0\\serilog.4.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\serilog.sinks.file\\5.0.1-dev-00972\\serilog.sinks.file.5.0.1-dev-00972.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlite-net-sqlcipher\\1.9.172\\sqlite-net-sqlcipher.1.9.172.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlcipher\\2.1.2\\sqlitepclraw.bundle_e_sqlcipher.2.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.core\\2.1.2\\sqlitepclraw.core.2.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.lib.e_sqlcipher\\2.1.2\\sqlitepclraw.lib.e_sqlcipher.2.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.provider.e_sqlcipher\\2.1.2\\sqlitepclraw.provider.e_sqlcipher.2.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.codedom\\8.0.0\\system.codedom.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.configuration.configurationmanager\\6.0.1\\system.configuration.configurationmanager.6.0.1.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.drawing.common\\6.0.0\\system.drawing.common.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.management\\8.0.0\\system.management.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/MasstransferCommon/obj/project.packagespec.json b/MasstransferCommon/obj/project.packagespec.json index f03991e..9064d18 100644 --- a/MasstransferCommon/obj/project.packagespec.json +++ b/MasstransferCommon/obj/project.packagespec.json @@ -1 +1 @@ -"restore":{"projectUniqueName":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj","projectName":"MasstransferCommon","projectPath":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj","outputPath":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net7.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net7.0":{"targetAlias":"net7.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net7.0":{"targetAlias":"net7.0","dependencies":{"Newtonsoft.Json":{"target":"Package","version":"[13.0.3, )"},"Serilog":{"target":"Package","version":"[4.0.0, )"},"Serilog.Sinks.File":{"target":"Package","version":"[5.0.1-dev-00972, )"},"System.Management":{"target":"Package","version":"[8.0.0, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\7.0.407\\RuntimeIdentifierGraph.json"}} \ No newline at end of file +"restore":{"projectUniqueName":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj","projectName":"MasstransferCommon","projectPath":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj","outputPath":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net7.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net7.0":{"targetAlias":"net7.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net7.0":{"targetAlias":"net7.0","dependencies":{"BouncyCastle.NetCore":{"target":"Package","version":"[2.2.1, )"},"Microsoft.EntityFrameworkCore.Abstractions":{"target":"Package","version":"[7.0.15, )"},"Newtonsoft.Json":{"target":"Package","version":"[13.0.3, )"},"Quartz":{"target":"Package","version":"[3.10.0, )"},"Serilog":{"target":"Package","version":"[4.0.0, )"},"Serilog.Sinks.File":{"target":"Package","version":"[5.0.1-dev-00972, )"},"System.Management":{"target":"Package","version":"[8.0.0, )"},"sqlite-net-sqlcipher":{"target":"Package","version":"[1.9.172, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\8.0.203\\RuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/MasstransferCommon/obj/rider.project.model.nuget.info b/MasstransferCommon/obj/rider.project.model.nuget.info index 7282d8a..8960062 100644 --- a/MasstransferCommon/obj/rider.project.model.nuget.info +++ b/MasstransferCommon/obj/rider.project.model.nuget.info @@ -1 +1 @@ -17173821281053621 \ No newline at end of file +17234348283768389 \ No newline at end of file diff --git a/MasstransferCommon/obj/rider.project.restore.info b/MasstransferCommon/obj/rider.project.restore.info index 296c70c..315e907 100644 --- a/MasstransferCommon/obj/rider.project.restore.info +++ b/MasstransferCommon/obj/rider.project.restore.info @@ -1 +1 @@ -17187849294453387 \ No newline at end of file +17234348310820990 \ No newline at end of file diff --git a/MasstransferExporter.sln b/MasstransferExporter.sln index 4f46ac7..3ca82b8 100644 --- a/MasstransferExporter.sln +++ b/MasstransferExporter.sln @@ -6,6 +6,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MasstransferInfrastructure" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MasstransferCommon", "MasstransferCommon\MasstransferCommon.csproj", "{66C6D73C-BADB-4E28-9C83-E701B019626D}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTest", "UnitTest\UnitTest.csproj", "{3E23D7B1-7223-45A1-B0C3-7758372986E2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -24,5 +26,9 @@ Global {66C6D73C-BADB-4E28-9C83-E701B019626D}.Debug|Any CPU.Build.0 = Debug|Any CPU {66C6D73C-BADB-4E28-9C83-E701B019626D}.Release|Any CPU.ActiveCfg = Release|Any CPU {66C6D73C-BADB-4E28-9C83-E701B019626D}.Release|Any CPU.Build.0 = Release|Any CPU + {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs index eb0120c..783f7fa 100644 --- a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs +++ b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("MasstransferExporter")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c140544af7e52a0669ceafcb39aa5c4e97c5ccae")] [assembly: System.Reflection.AssemblyProductAttribute("MasstransferExporter")] [assembly: System.Reflection.AssemblyTitleAttribute("MasstransferExporter")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache index 165df5a..fd9ad27 100644 --- a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache +++ b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache @@ -1 +1 @@ -7b8d1f8454f023bcd91610ade27ee70ef9aa6485 +b22264d67cf0b32e10f0e75ab1606fde9dde71a2b835269fbcfcdbfc81d14377 diff --git a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.GeneratedMSBuildEditorConfig.editorconfig b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.GeneratedMSBuildEditorConfig.editorconfig index 830b9a2..ae70bd5 100644 --- a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.GeneratedMSBuildEditorConfig.editorconfig +++ b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.GeneratedMSBuildEditorConfig.editorconfig @@ -8,4 +8,6 @@ build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = MasstransferExporter -build_property.ProjectDir = C:\workspace\code_repos\haiju\MasstransferExporter\MasstransferExporter\ +build_property.ProjectDir = C:\Users\wangkaiyi\RiderProjects\MasstransferExporter\MasstransferExporter\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.assets.cache b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.assets.cache index 820c705dbc98231939c77e0d70111d4cb62117e9..74eb6c129eb9bd58228c178253dc65750d3af76a 100644 GIT binary patch literal 67030 zcmd6Q37j2Ol|Beb2#|z80wg5lg`JR8=XE+s2LTD)2?WxiNjFBN6<)tr>3-xbombV} zX6=&4hopENI8JF2tXLB~kS)G0P|7X5ab(d3B_r7=Qr8`M} zznkiJ>)d<3bMCp@xl0Y-aqI4LPdn|j=T|*B`>hx5|I!`beP+#fzWd^f-@f6(*=O$A zIq}TI`A_uh`Rd}2efhN0&IH}lrw?2|c6Z>ng0b0BW8z4uI#(U@8q*VgI5t%(A1O`v z!C1XoZZ(7E;n4FNVKtmP+$z=m*=FlVx!Ll)QlnIxdw_D->239j+sAZ7r5QGmQ8^eJ zQd#VYve+xL7@#b6%PhP~t@aYYqJO6&(BEeuye}urW1-&&s?A2=)tVC%)y9NZ8V|x& zsT@+|SU-Sn&EkZRwYf&0*Ox-9bK5U+yVY;_ty0)*1spLcln^gMc(!ZA&8g!Ad1st~ zH`1JLm3;vfa&xGQ8PwN1m_RTWgnr!%{bQkbf6#0=scZiL>E>|{vv?<@o=rlkmHBb-VRkO-aEik za--_ZbbUVZCSDgH5U*7Tb1uA^_4;%JZB5v0){ay|Z?ZZuIpwzwH(T{mqwK@}Aifly z%6dSi7!@gQLyBRYf}>gu6ol$R1VVKY!W|B%Dvh9AtD+G^;S*0`Y9#+)BN&KYaXuF# zU*fX{f%vRNs5t>(V%V?(_|i1rTnAs281G9>{E2qfS}goX=~QZNnE zA`=Ue9YpWeUSh3uPK7-bQ|EKy9-VYRB((wc1kfHlNvT^A-k7hH zH8Y8`?$?{Gxk#Dr2#2CX+yaX!Y`ysHGUj2!UWTpNI9#2W#^4VlDlrNY#cWp|Ps5RI z6Ub=5NLuSdc&_{6O|UTxc=O@374`NM=pFd|-gyFjxLWfuS`>r#uGG61Sun$8Ez!;t z@P7P$be@2-F>yXEN8@4!a#srE_4xf**B~qYl;5cM7&}%Q_xsW8$5E++D&;$;_0jc35R# z1O2iT=$rBT$*#4Y1U)r57gWoonxlOr0S}AB+(dS#z}|x2-B&jP8&5(fYR&O+bYnSy z#uL$7MM4g8AO&&|zmIm?ZwX(6BQWVpV3mJQ3e8^p?!LQkoJ2ME)Z3wg77UEQ^TCaxH8Th^2TAg8)fE(66V4%^s?AmX~-}ww{ zw%XX%>$UueDm+(nW80%~TFXC7&J8^W(oSMiN)MJrOlWb3mZEQ=l2fbHJ&*8r5dRHZk)bsv?@_f0xMrpvZp&&;2g> zV{QrMMzhWxUa`16$>y%nQM~1hMg^n01*4ba`384Jo*wFW@M^%%jEr zbg30SFt*JrrY!2N=ml5#m|*d0!QwS|-s->tF77HCM3ilc1^gxSg7dgn@VHO#DB)Rl z=ivp_#*qLsXsEH~XRC?iI1-T!#AKZRxZp4AM;X5-a`UGiGio)8TPps{maSWN?Ns(m zwKWNY`g4w$j z3tGl4a2=JaQgAq?^t-h?MK(wJH9u!|&I+)EUlS&XqiCSw(F{WGbSJOi4Jd z*9%;-tlog%xyvfaBwJb?P*DPo>5VB}y$Qda8qu&6`k3zoXupdX_!*5w(r|_k3Wg8i zNv-yq5nNndK{!3`#e+L9?FFXwCTXS7qF1rlp9NGLi${B2>;{fXjw5?mAbUh0dkda- zyO>S9hFES^{7SQ)9g+*K19(5!taFZ!3XXCF{#N{UYF;JBS}pdN1YQ-3QDJEu{b^=O zp!jR*eUh4^c`SwIZTS6Wm#Mob73xx(4UD_%khF$H_eK*25UpnSMQc%+nSm-1>TRQ> zLs8P*Iw=SExB&QeJjrz4f#5XvQ~;S{lmF5bkcZyn^?|zLI9QJ z`Xqke?`}!bywym%9}Ag6dDPaGrlx3FRg|k-)W{C7pAs;h#*_5*eF)9`FwkUp{^1=t zE7qR9J9yc>Q(%#m>zSNbs-=lWGYG5Yz>DT~G*Gr#`XD2YrgrcZa4gRXEV6jsh2MD$ zy~6Tm3%+HnX`_$ME(XYgV#(O5??9Z41AI;Z?7@=??%fE}ISP(3LU&Q7Rytm$Ow~Xd z4Vu8kX*iICbf9OC^SWsB`r?)+EqJ=^i8MuwpVf=0kG;GS2_K;77g+ zIp266{vL7H2gplO2%=095@J<^v3-V z{(eV}v48?rj`sFUv`TQ^duWV83|RaM^>9`TRp{btd2<&>gUC3b-x z@I%@MMK8`_TQ%u-fd+(8v0HXd646q%zma~e*puAEO>v9ky?ONK8tYa$db=|5R-!sj z@824T44X(->qt2f!+eR}tTn#D+%cAMy?&j7Dk(O#rAX}WBYszRAeS51iS}AXtM;;Z zrX5s7eR*5zcsCQ#U1p}^lVu|7=}eXpuIP}4)(7;u6LI1yVPbMX(XMZzy~fDFuwR3S zx4RN&1ThOw&@sRfn=|;5HgUVo$Ss*hZf_uZv)Du*_egS=0nx5A=8Xw69Z4Vpv#AJz zjCkhk#DX|wx53CyFHjTBC7R~Io>8g}-f*oH(#Gnj-B^=-KU!+xJV^AG)w_6&H<|gx zI&u73E=Ch)20wloD=c0gCW1xLN-q7iWGG&2rN0Z}Z%><_7tgaQu~&wOR-{%XDQrW)gwI<5g zxks;+v|_0>cDvD=RU#qv6s21Afyj+dFP4fI`^agd$l%M;y$ikApvc$@FWC^U)HK2o zMk!^ic2iO8GC`}y8Y@JMbS&|-2mQlhU4&vUQ>-hLdu31@x!pU9-W>BK3# z1(i<_omvaLgMR#1jFncSm3<$KolX?BMy3;fDBVZUTWKUB0epfD@+r})OH&E=k$1T{ zg%)t83U3dQtQRE8Ws-2{5XGi6h25z_u3G;yaK&J!XMt&3@^Xthnq|l#<@b3YdO3jB_>gez~67 z4rA&|QD-5nHBD!Fq9bsN@cPFQRv`QY!g&ZkiSSbhKaKD+2tSMPWrTC%SxQgj>RF5k zN=TDON?1TJCHy(W|2)E15U%Sq8i}%w_ijmGhmel)zZ=1n|1ThZndp0w9Bwh0@?Meh zK1<49MEoVmUR(6%J<&3N%x7HWLk)`w!7m|RRzbeNgJCndK4W#s%xJlyow~k?_p+3e ziw;RpwCq6n*g*X<-bqW+EmlvoFeR~&Yn}3--zLF+1@WgNT<+j=0oiE-2=jRA^jKXT zXC@;i_s3EMmlI+7Tx-75ri|seg5@$iPs}M(#++&+$xF3yUQd@Y9_I@l7vOo499#?y zcW}+yX;PN|#X{OOc)Iwwu?ocx>tkUs_bF1w{Sv`_9i9t%dep-6L>}m55H1s9Uyi3s zwe9vGCu4afV|lU;a56Yo3pm%{dEyUlG9a4-kTdW+r4DQ|jGGxor`&y#vUlVK_{OfI|C%sS(a$LwmAc1-EfaB`;VF+}7kpw5ei72Tf-!-}!q z$<*dlnB&1w?z!Y(w==M(?m2smo*r&mPpKw}pE4`5c@4iYMhEG!Z&F1@{CDZcD7}!(mfF%RDn}O`U z8j(hWXg9?1AFO2HXd)$BP?ue|Ml;1eL|Q3vY|Z7e2}7}mq3FIl7BIT0Arh0V?WU#q z<5p952Pm1E$Ppq@xa^rX7S@zH2kBT|+GEMviG2)9KEuJP%JChTWE#0cprCz4-JpnT zRJ55k??Fk1;($Ow9+KnU)xh%QyBg;2U?gKODu9#6>tr5?WRS=SM>bB77Um!%WA;kH zj1EH1#{o!|^_a-|)p*X!!AF)ixf@AG_aQiKKo(~wyE^d5_>K#{WalSjmks01ciA{? z%2lWD9M2mvUiS+*X$Mcq!6Rup=|`tz9nKjtuKb*#OIv2*+U5B|hGI&{e$-X=?#~r6 zuC$Ot7ES92^MCS+F?vuidI(RKIqU+RxMGMN7Kk3fa{*3TF;0&PPBdF~GO&2_ZMmt| zq`N+0#ZWxPP~totDI~`4dB)Fapc9v$`{^Ub>jlA!%4`8o9Wjm{5gZG6=Gf{lcjR?@+K3_e zC_`}4P8l&g9~XFN3VSM@E@BWrAs|u}IO(T~7%qOQ$YrHfbl4%5aJ(*06EW_e7FsFb znWM>1a6gVyL=4Gi1QP0ePT1)o#{YAIKiS6uof=}?mN0HPnvhU#it6&T5JSLE3jxe& zw7p3pRBD!3@+bFL>j!-0{0IQf8w_qF`%0Ofb@C>0s*}a!Bo`W zLi{PU6^Y5P8Q8cCTP!mC5#pWPQpQ!k`QEC;1n`6aH2S1M*ot5(gg-|7N!`lCFc*P^ zlrAy%S}^|!;$7UtW}S1#VAka|q_&hmMze5(^_xzB?5PZ8h!zKw+UvYUnU0WNcL zlL-@MJ3x~9X~ICl(0L$}$^04OPu;CjOrV_r$_47T2=r~lcfSWDSvtqJm5PDqTdAlt zuD5{ybHtx2Tdf#;zSWB0-(Z3N7l=Rgw_-8DZUkU%R5w`!`%A=kU*#8as}>XHWhr59 zwg~fAh(EQqaxo!xr-Zo0BE(-KzWZuEpIf~c_<dnMjCpTDhc z48SNdCIELM5P+8>m;iha@h5XD9D{raP&njQSRns1;umJC90S9*%8~x=v4Hs(#Lvf8 zI>wrBr6bm_v9SJE#LvrCJI4E7jMa#usSum94lQV6S=|>$NFd zufuPX4*wVNPFqVjE_qyvUq%$+RNuwu@KuA@OgP@x3%s(--(bN@S1;r)^CaGEsdqq2 z2{_g_3aqls-( zD4W{wPTz`<`h7~kdm2yD?^26?&qjQn9nkE1-Cch}LSlTUz$h#GGx%*%;W;@m9``P7 zR?N=|jIx;DWx;qZFy^UXiQUqEi|)cKHOl_+e{(`A_c;N)2TwA9cUyoj18}E-$MNi~ zW(s|;z$IsU@3Y`q4qPrvtfJoIbBx;8jEm{j7d7J>)>F+DeXwjK7ASGo9lIiqcjzmC zg$8j21k&Ys_-!)Om59%=uNs*1eN{r1?FWE?@JOTlApSPtIX@qseEYmvnLeMw^C1hK z3xLOIa+-G^IK%RSz#{GI!xk*7fW>KG8)H!)KrnroA!S|UW);?@?%hjV{1ZY1X^x-7Z<7cYL4-VQq|!O6v++v~4tmFl@9d`>WIg(n z04{ZZu|@Z55PuT3MKcwDMj(}~`DZOEUJIlrY}+)$_c?)2n!t+|e3t;<0&S~iXqKeV zeBOd)9nd&AS>iT8ZMznq?MRs)>s0hjlMK~*aO1tmrTA^CCL0i+V@Re@dGTL4z{N0m zYg9;K+-Sjg8RDI$*(uElj8nLIGdE7Uu9IWEJcacN3)U+UKkpyFkWI)JgsFWIPinru zWHGg?0AdjDoYrI1ZYtxVo;W}hjNz^PK!@uJ-&ue_|I#abS6g&<4dSmw*o1H$!e)eS zM2JUeiOVTWVvwUHy+9fFq|ph==sPD;g!J;?7Cvp#QLsR zr-CjN{u%%>0lydV1pGb(0$xIxSr9|1PY1QGY0H2 znZQpVp1@Bc5cn#>0_we+HvN7;GC@Crc!FL-An0|3g{h;#wq09~<*uU*;4$HDBA#$h zArS7P6c)r@y3uwEXiTUB#1rZeflyB)ED&lvD0J@kXMo0pdKU47`WOPCo z<}tS2Ox*j@Wevbw7_Y2H?mbO5cvvaf#dVa43^ZNv5K0}-8dPHK^vw42j0rdMV zpnpJs=CiZzd&4%MEpxLDus>jd{Xqen&&;|XeRPJM+pwRv0RNBx&Szx{2HZHi>7el! zEWkf3fPVx}>dk);VZjWAb&rk>$wvXl)S-V2@zkO7sbu$)8@r)QO_g`_)%=`I_Qx%# ze@LMI1fHbqPa-Tt^Vf}mdCF3*sLUi21~KK@jVqlcP0% z#)9~>0x_TTcJGifSu>w8M&Cm=T6ALKl^%zD&I0~L0iI8IyLU)+0&g>uw$MLsf&QZc zI-l&$Z`W>}>PF3VThKpd0sRF5noo3HE?P1>7)<)MOmjO!{-Oo)mjq-!$#uEP%N??5 ziW}qA>&0n<{&5T1pAcyI1lMVIka2=*Qm|SZm$fjOdUeA4lNP)`CGhge?fh$(RXiuO zKW#z#GXgE2*e(EC-8MU+{aFjzFAKDMQu`*Cy#u)qeW+P(JWpimj=xy$i4Pz19T4er zA3tZ2;^&1Fyhn7|kJ7ymsV2l-gs)gc_yr*XZ$cJU1gfN6mBKGtMEE5k0=N7VAcC$5 z?xpZmiwM6gMBvrIX`m8sXsd{G5b>TL?Dy&Sih94#bfbDq?#yyIv>`q7=|da8BEWwQ zZXdo6=vM{!ui;6f@2?}|*p1g7Jgj9tuzv%XXcV5t{!PTwDE!wD2>WIPr|npBcaQya zhiZ732(;OXS{5`bLhy)WiqPxg_sFy&zX^0fF}W{hmdV-xren0iI-Fe~6Ih((=S1 zBeNvv-sVq^ZvmgFqWlr!siOQb0?F|w2=goltMbQR9)AjaCOQ5L@g&E$5oCpT^3{my z(kcPw1TIRi*P9J|9D6I@B+5ID=)kdPwL~Hut3)DhMd_1Ne{Mnj7XtNP3e?nFIL!@R zP&2)E1^TZnp#NHc?h&A=n{c^;Tl5l{qf8xIp`qyOHuQ-LuHolVH>sY=Qw`q%2$Nm> z4dT-sfzzF70yqAB@RGxOV z{r4MGIWdXYaB7r3J+Y@zZdRyG8)#Pi;q*W%eQN1@7CHV|$kF9MDj`PT&HCfw&ORl9 zSZ|d*olT0sJLHe^1|WT`>0c}Y{HqY)-|(b5^X~}sj~?H9$#AKB1ga@q*}HS7cj#ys z7NSF`_*uY)-9pO`LY(Zb6sGY}!wI7D4(u7-+bY%l*=Fm==9l}epxSKQIMe6t@QRxY zZQk~_dAqaSySDl6^xEay-zHzoib%?8BMALcrO-TF2q*mluG_fZFNcM&)SB?a!eJ>X zi5~A)CLI(;C#ykWO6aa$nkzJ#VPV`a9G>LBPyPKmBmJFIA*DM{3?HMaMPCU&dv{}^=8w>&QHzTB z2xITE;ZiucuOTE@18;p#tg#+VNd~-}{Tv8_f7EEN0Y`0)0&}DFbz$R zMuNok(`WT=?WMGR*D!rpsVT3OiMLcF1zXa{@{we%Hq=3Kc0f?LbFQOJ^VbMK>fRX)b5d=$1q>8uIJS)?BY^<}o>Cdzm>~ez$qCW3HT< zGG)cfB}EvKyY93##Q(?fOpgnUmQKg6QK;`_@`>d>lFq3q4$0x^!b zt`lrI-atkj+aF1rF1C(L#2|&xZZPT`6SaCZtj@rj+6gctMRphK><%R^C0?|hn$(__ zf0%|jeAHn}kTm}dU1R2g`6&aOOypc=`rh$T@RIboWe&qooFe;6$kv;5F^Lt;n1VDWpQyE#M^eM zU{B(uC@9t9yQWL6@PWnnt~YeCni0n@BB3y>sn(hk7^Q$l%0n577eusL{ykD{90@Qu z0Fs)|#{otHN_u|s4b_SjRNBQY6@O;S)~&mC_HJarvecBxvS?_Gp&-U0L9iH-W3IA} zC!?XWd`~G>j8u>9FO4_R2JLM&!T{sil)h2~lxUTX+gHa-E*_9aUq!#1GgDb>DoVc2 zl-wJP9eV(PizB!_wxf>F#G47Wz~Z*x&-kvyB}H$SSJXP=btPUcBYH}{A^tf$u>W9b z*5lV*#yLfRdb49+6#QNLF$9zeOCkL8RX@0QrkAo^pL{#rsMP#>)rxhL>CTl2nli?F zas-=&E7%YbWxp|z6f?-EBjHD0av%}I6c}?SDOm|?) za)_OfP0|p6YevH9aZk+o;z4%ACK_bZGypj^Dy3Ehg^P+&?7vnZ(m57;49Su8auH2# znZahAPxz8=2*)}VrN5585A(6GgxR&UObl)%uL1TIbww8!QtUFO3fFA-jc^F;YnVr4 z=8m~KS_iZy$f!Tlpes4-Nr}O=3Mv0idE!GoadX<@-Jo+KVzF9K%Sn%zKSnFO*9qKY zl<`G;QYA@h%ICsFK5@D3*}G$lTM>eiGPy)%!j=l36uEkng zpMYk`Fq?o7t~F&HFEtfYrHu74r7k89Ms{U1-U;0&);tp3iEUA2slc)CPWaOjqlKck zU9!bpZ-Bf~k$Sh40-DCjn#v>xsd&kg=w$*!68(~rtPord`XvnHXMElzr(O}ctgr{; zCB`f5LI?^r3TD9-p=eD9cT0ir6hQ z(JD<%&f$)|W{Am+U!h7PC+1A`3Wz-wG1-`Al36F%DX@#`ijh$UdL|9!yh`Mp@Nmnz zFWX*p+A_BU9c6H-DFf{ymu&!(IhjSmnZCx9S>&mfou@4y<<8!at=Y=ONO+|k>1(S- zOTm$Lc9f!|OqRbY2rJRZ$Qy39!bMxLCq{YP2%>%u>N5|(y}d;EQZLvS?5j`Js^w}} zn;Y~Gn(InGN@d!~V`s zI>^a@FS2;DSEQWPS740N)>%!NElc>9*QY#~Nw@I@>9gM&2N9LUlT z%@`oim!wlgcHK0F(J+%9Cz6->;<7IpBD1?_Y2+@Ve9n;`9Q=KS z{M+XFp#&Egd^Kllm&`fR2?EkJ^6!M_g)+G?`G$&#qE{wdB@s96Xoy@P6nC+XOZqSh z#uvheK`EEV6LjfiNVx-2&Vtp6**x{ml*N^a*yMy+x(8o|XnpVi+ zP238`Q!%hRUkt3o9GMUlRFq*ROayXTsZGgo<|?OP?dP{!6#q{1TLL4e=A^$)(@{B! zls!Q_t)*Pl3@%#bQxjEswL!qqW1zs3(@%OYr{ny+d77x$CuVk>hwUD2=}(s$XX9>L z63X^+0lgiKoa!g%dNMXSox4EfC#Q47Lr$0_G^e>yX4;aNZc(<6!;c3{1<;<{pxazmg0QP>Fj0@tj2BQ*ken{Byw%Cg$ z$8^H$#S0Ix;=7YP853X9Dyw0t#l+REaAIN(wo&Fxvcx&`#3_5k^{$KKpNfzmB(G@_ zgllD1S&F49jZ{Gd7{_^>;ck$*M?jG>1yj9`xU+*o0$oCd{2pmTUIf2ZeaO0fZ($m$OvDNg&KfGB6aeguyH(L!8kB zBbJ&#)J}=Dhu@4N3M0PBloo)=i^Pkiq|%M?bfR3^+<>}C^6Q-LT%PlFG94OWabKy` zViYZQop!q0R5t(_+NCOHOO|;XYf;piy)OMsIjxg$Zid>*D-%q1p=!z4|og_b(M{Z365tqnVp{N8BisjZB z1x7WImITWM9Fb421yCD9QAtu9+E|P3(URPClJn9pl;E<+2ynY*MkU~|SnH87VWXy4 z0Fwru)NVg}9R@vyCo@`|% z!#!PEw{7sd&|*^{8t(+G$OZk12AQvk8tazzq3P z6{Cg$5rhs}QN$5|4%*P;O=8A~mx$k2tAY`OV<|fy8(==C=;W|k3Z0_U3`KsDE*eJS zl9_AM40Usw%1Tj6mbytyQ7UlhQMrvSJvz71rN`1Xx;Q^wH&b+L%|mDMux(fB;A10E z2!_#GUIX_L9V*+ zRPI(~s|2b1tr}MeI0s`-o`%FZB)aF6hKxg{tCs?#Mj|42 zaj%=DQYdO6Z~I%|E|nGAOuZ}~)QLP)%@9D^sa?^Ej1vk>38?C^$k(npMJaN%D@{?# zJhMX`Q5uR;=BXRV6i(ICCx!>nm1M@kXfr&B63I>{!6r(iM(7DnHoYX1bQ*?4Vn<0- z!(ks&7>Mm73QeqL+qR*Cfz&oo(4<#NV~sjI)-UMZ17iS1B|BuP<^)x;GftGDnNH@W zTc!k^;%e;NV;R!enDw^HOIxm)%Gj+-j=GHFs?2OC?(X^BOo~`m1ublr*jmPINYiE9 zhBU3mHl(ov+^|LtOs&z5x$4FsOS((hBb{qULlYg%bXl8IDaYEMh)+3CVcmM-U`cr< z#Y_KeV)?)Ym`X@Gg%ym`=Y(`Zb=!$JAE?(9^<3PX@MfheyqBtC+t~PmqFQj|SM{h2 zI5K3QAhAtL#taf;ekmGdpj?V%a<0%&6e?XFL`b(ghbqi#t11Tv&gLAHHskJ5O0Czk zI&Iul8N^M6)F;cpR4{Dkub!Ys4U;K@MbVp^l)5k(%nwv0r?$t$MXpsa`(ZE(lDjSW z8OT=g;1S> zMrn$-Oq8T3-*EM`Wv^0jjkM*ihP|8zYhRLU`-+<9&l-~?wX$`dw`vr#Ywwx$eU$-c zr!$Z`Rm<|34BEG@TgUb&4f7IK9Mp~##lg7nuX0Hgy3Qqo)0oSk!or$Uor$aq?V+el zj2d&iG3I&`5@r*L-3xlNHtjD^NjZOJAZ?PWzFn?t$u`TzS?!xpDW$(eHdi*rDy4Qm i3;zsHxkSV**Ub-YfLeUu?&8j^#j{4R$+?Al82%4sf3cGQ literal 60595 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 $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\huangxianguo\.nuget\packages\ + C:\Users\wangkaiyi\.nuget\packages\ PackageReference 6.9.1 - + - C:\Users\huangxianguo\.nuget\packages\entityframework\6.4.4 - C:\Users\huangxianguo\.nuget\packages\system.data.sqlite.ef6\1.0.118 + C:\Users\wangkaiyi\.nuget\packages\entityframework\6.4.4 + C:\Users\wangkaiyi\.nuget\packages\system.data.sqlite.ef6\1.0.118 \ No newline at end of file diff --git a/MasstransferExporter/obj/MasstransferExporter.csproj.nuget.g.targets b/MasstransferExporter/obj/MasstransferExporter.csproj.nuget.g.targets index 378237a..4e801bb 100644 --- a/MasstransferExporter/obj/MasstransferExporter.csproj.nuget.g.targets +++ b/MasstransferExporter/obj/MasstransferExporter.csproj.nuget.g.targets @@ -5,6 +5,7 @@ - + + \ No newline at end of file diff --git a/MasstransferExporter/obj/project.assets.json b/MasstransferExporter/obj/project.assets.json index 8917b8b..acd8c93 100644 --- a/MasstransferExporter/obj/project.assets.json +++ b/MasstransferExporter/obj/project.assets.json @@ -34,6 +34,19 @@ } } }, + "BouncyCastle.NetCore/2.2.1": { + "type": "package", + "compile": { + "lib/netstandard2.0/BouncyCastle.Crypto.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/BouncyCastle.Crypto.dll": { + "related": ".xml" + } + } + }, "Castle.Core/5.1.1": { "type": "package", "dependencies": { @@ -50,6 +63,19 @@ } } }, + "CommunityToolkit.HighPerformance/8.2.2": { + "type": "package", + "compile": { + "lib/net7.0/CommunityToolkit.HighPerformance.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net7.0/CommunityToolkit.HighPerformance.dll": { + "related": ".pdb;.xml" + } + } + }, "DnsClient/1.7.0": { "type": "package", "dependencies": { @@ -96,6 +122,19 @@ "buildTransitive/netcoreapp3.0/EntityFramework.targets": {} } }, + "M2Mqtt/4.3.0": { + "type": "package", + "compile": { + "lib/net45/M2Mqtt.Net.dll": { + "related": ".pdb" + } + }, + "runtime": { + "lib/net45/M2Mqtt.Net.dll": { + "related": ".pdb" + } + } + }, "Masuit.Tools.Abstractions/2024.3.4": { "type": "package", "dependencies": { @@ -352,10 +391,10 @@ "buildTransitive/net6.0/_._": {} } }, - "Microsoft.Extensions.DependencyInjection/7.0.0": { + "Microsoft.Extensions.DependencyInjection/8.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" }, "compile": { "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll": { @@ -371,7 +410,7 @@ "buildTransitive/net6.0/_._": {} } }, - "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { "type": "package", "compile": { "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { @@ -443,13 +482,12 @@ "buildTransitive/net6.0/_._": {} } }, - "Microsoft.Extensions.Logging/7.0.0": { + "Microsoft.Extensions.Logging/8.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "7.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Logging.Abstractions": "7.0.0", - "Microsoft.Extensions.Options": "7.0.0" + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" }, "compile": { "lib/net7.0/Microsoft.Extensions.Logging.dll": { @@ -465,8 +503,11 @@ "buildTransitive/net6.0/_._": {} } }, - "Microsoft.Extensions.Logging.Abstractions/7.0.0": { + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, "compile": { "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll": { "related": ".xml" @@ -481,11 +522,11 @@ "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} } }, - "Microsoft.Extensions.Options/7.0.0": { + "Microsoft.Extensions.Options/8.0.0": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "7.0.0", - "Microsoft.Extensions.Primitives": "7.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" }, "compile": { "lib/net7.0/Microsoft.Extensions.Options.dll": { @@ -498,7 +539,7 @@ } }, "build": { - "buildTransitive/net6.0/_._": {} + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {} } }, "Microsoft.Extensions.Primitives/8.0.0": { @@ -571,6 +612,48 @@ } } }, + "Microsoft.Win32.SystemEvents/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.Win32.SystemEvents.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.Win32.SystemEvents.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "Minio/6.0.2": { + "type": "package", + "dependencies": { + "CommunityToolkit.HighPerformance": "8.2.2", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "System.IO.Hashing": "8.0.0", + "System.Reactive": "6.0.0" + }, + "compile": { + "lib/net7.0/Minio.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net7.0/Minio.dll": { + "related": ".pdb;.xml" + } + } + }, "MQTTnet/4.3.6.1152": { "type": "package", "compile": { @@ -584,6 +667,22 @@ } } }, + "MQTTnet.Extensions.ManagedClient/4.3.6.1152": { + "type": "package", + "dependencies": { + "MQTTnet": "4.3.6.1152" + }, + "compile": { + "lib/net7.0/MQTTnet.Extensions.ManagedClient.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/MQTTnet.Extensions.ManagedClient.dll": { + "related": ".xml" + } + } + }, "Newtonsoft.Json/13.0.3": { "type": "package", "compile": { @@ -597,6 +696,23 @@ } } }, + "Quartz/3.10.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.1.1", + "System.Configuration.ConfigurationManager": "6.0.1" + }, + "compile": { + "lib/net6.0/Quartz.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Quartz.dll": { + "related": ".xml" + } + } + }, "runtime.native.System/4.3.0": { "type": "package", "dependencies": { @@ -1313,6 +1429,35 @@ } } }, + "System.Drawing.Common/6.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Win32.SystemEvents": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Drawing.Common.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Drawing.Common.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/net6.0/System.Drawing.Common.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/net6.0/System.Drawing.Common.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, "System.Globalization/4.3.0": { "type": "package", "dependencies": { @@ -1373,6 +1518,22 @@ "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} } }, + "System.IO.Hashing/8.0.0": { + "type": "package", + "compile": { + "lib/net7.0/System.IO.Hashing.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/System.IO.Hashing.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, "System.Management/8.0.0": { "type": "package", "dependencies": { @@ -1407,6 +1568,22 @@ "lib/netcoreapp2.1/_._": {} } }, + "System.Reactive/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Reactive.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Reactive.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, "System.Reflection/4.3.0": { "type": "package", "dependencies": { @@ -1733,10 +1910,14 @@ "type": "project", "framework": ".NETCoreApp,Version=v7.0", "dependencies": { + "BouncyCastle.NetCore": "2.2.1", + "Microsoft.EntityFrameworkCore.Abstractions": "7.0.15", "Newtonsoft.Json": "13.0.3", + "Quartz": "3.10.0", "Serilog": "4.0.0", "Serilog.Sinks.File": "5.0.1-dev-00972", - "System.Management": "8.0.0" + "System.Management": "8.0.0", + "sqlite-net-sqlcipher": "1.9.172" }, "compile": { "bin/placeholder/MasstransferCommon.dll": {} @@ -1753,6 +1934,7 @@ "MasstransferCommon": "1.0.0", "Masuit.Tools.Core": "2024.3.4", "Microsoft.Data.Sqlite": "9.0.0-preview.2.24128.4", + "Minio": "6.0.2", "Serilog": "4.0.0", "Stateless": "5.15.0", "System.Data.SQLite": "1.0.118", @@ -1819,6 +2001,21 @@ "logo.png" ] }, + "BouncyCastle.NetCore/2.2.1": { + "sha512": "yfWn8JYPc4rkeM2kcsCqFVFOvwCuuQvIieGtQWcjoWxOioeznXQB3M/GmHgbCWbJjc8ycrwGhZaZPiasifYi4A==", + "type": "package", + "path": "bouncycastle.netcore/2.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "bouncycastle.netcore.2.2.1.nupkg.sha512", + "bouncycastle.netcore.nuspec", + "lib/net45/BouncyCastle.Crypto.dll", + "lib/net45/BouncyCastle.Crypto.xml", + "lib/netstandard2.0/BouncyCastle.Crypto.dll", + "lib/netstandard2.0/BouncyCastle.Crypto.xml" + ] + }, "Castle.Core/5.1.1": { "sha512": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==", "type": "package", @@ -1843,6 +2040,32 @@ "readme.txt" ] }, + "CommunityToolkit.HighPerformance/8.2.2": { + "sha512": "+zIp8d3sbtYaRbM6hqDs4Ui/z34j7DcUmleruZlYLE4CVxXq+MO8XJyIs42vzeTYFX+k0Iq1dEbBUnQ4z/Gnrw==", + "type": "package", + "path": "communitytoolkit.highperformance/8.2.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "License.md", + "ThirdPartyNotices.txt", + "communitytoolkit.highperformance.8.2.2.nupkg.sha512", + "communitytoolkit.highperformance.nuspec", + "lib/net6.0/CommunityToolkit.HighPerformance.dll", + "lib/net6.0/CommunityToolkit.HighPerformance.pdb", + "lib/net6.0/CommunityToolkit.HighPerformance.xml", + "lib/net7.0/CommunityToolkit.HighPerformance.dll", + "lib/net7.0/CommunityToolkit.HighPerformance.pdb", + "lib/net7.0/CommunityToolkit.HighPerformance.xml", + "lib/netstandard2.0/CommunityToolkit.HighPerformance.dll", + "lib/netstandard2.0/CommunityToolkit.HighPerformance.pdb", + "lib/netstandard2.0/CommunityToolkit.HighPerformance.xml", + "lib/netstandard2.1/CommunityToolkit.HighPerformance.dll", + "lib/netstandard2.1/CommunityToolkit.HighPerformance.pdb", + "lib/netstandard2.1/CommunityToolkit.HighPerformance.xml" + ] + }, "DnsClient/1.7.0": { "sha512": "2hrXR83b5g6/ZMJOA36hXp4t56yb7G1mF3Hg6IkrHxvtyaoXRn2WVdgDPN3V8+GugOlUBbTWXgPaka4dXw1QIg==", "type": "package", @@ -1927,6 +2150,44 @@ "tools/netcoreapp3.0/any/ef6.runtimeconfig.json" ] }, + "M2Mqtt/4.3.0": { + "sha512": "2A1uM20uxuovQKPA0dkZUqD9gUpIMaX7KxdLiVM7IEXdPRL709hGuudHnvlDxm2/6b2LcOjshrYGVG9vdpipag==", + "type": "package", + "path": "m2mqtt/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net39-cf/DeployFileList.txt", + "lib/net39-cf/M2Mqtt.NetCf39.dll", + "lib/net39-cf/M2Mqtt.NetCf39.pdb", + "lib/net45/M2Mqtt.Net.dll", + "lib/net45/M2Mqtt.Net.pdb", + "lib/netmf42/M2Mqtt.NetMf.dll", + "lib/netmf42/M2Mqtt.NetMf.pdb", + "lib/netmf42/be/M2Mqtt.NetMf.pdb", + "lib/netmf42/be/M2Mqtt.NetMf.pdbx", + "lib/netmf42/be/M2Mqtt.NetMf.pe", + "lib/netmf42/le/M2Mqtt.NetMf.pdb", + "lib/netmf42/le/M2Mqtt.NetMf.pdbx", + "lib/netmf42/le/M2Mqtt.NetMf.pe", + "lib/netmf43/M2Mqtt.NetMf.dll", + "lib/netmf43/M2Mqtt.NetMf.pdb", + "lib/netmf43/be/M2Mqtt.NetMf.pdb", + "lib/netmf43/be/M2Mqtt.NetMf.pdbx", + "lib/netmf43/be/M2Mqtt.NetMf.pe", + "lib/netmf43/le/M2Mqtt.NetMf.pdb", + "lib/netmf43/le/M2Mqtt.NetMf.pdbx", + "lib/netmf43/le/M2Mqtt.NetMf.pe", + "lib/win81/M2Mqtt.WinRT.dll", + "lib/win81/M2Mqtt.WinRT.pdb", + "lib/win81/M2Mqtt.WinRT.pri", + "lib/wpa81/M2Mqtt.WinRT.dll", + "lib/wpa81/M2Mqtt.WinRT.pdb", + "lib/wpa81/M2Mqtt.WinRT.pri", + "m2mqtt.4.3.0.nupkg.sha512", + "m2mqtt.nuspec" + ] + }, "Masuit.Tools.Abstractions/2024.3.4": { "sha512": "4gLvJaFpZW8XqJq9wFx+fQh1we5Vz4gnQKaP4ywfbyALNPlvM4flG3N6ZLrRMQwnjCPEduxVPAK3j7pTq2AT1Q==", "type": "package", @@ -2298,15 +2559,16 @@ "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyInjection/7.0.0": { - "sha512": "elNeOmkeX3eDVG6pYVeV82p29hr+UKDaBhrZyWvWLw/EVZSYEkZlQdkp0V39k/Xehs2Qa0mvoCvkVj3eQxNQ1Q==", + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "sha512": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", "type": "package", - "path": "microsoft.extensions.dependencyinjection/7.0.0", + "path": "microsoft.extensions.dependencyinjection/8.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", + "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", "buildTransitive/net462/_._", @@ -2318,24 +2580,27 @@ "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", - "microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512", "microsoft.extensions.dependencyinjection.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": { - "sha512": "h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==", + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "sha512": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", "type": "package", - "path": "microsoft.extensions.dependencyinjection.abstractions/7.0.0", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", + "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", "buildTransitive/net462/_._", @@ -2347,11 +2612,13 @@ "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", "microsoft.extensions.dependencyinjection.abstractions.nuspec", "useSharedDesignerContext.txt" ] @@ -2444,15 +2711,16 @@ "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Logging/7.0.0": { - "sha512": "Nw2muoNrOG5U5qa2ZekXwudUn2BJcD41e65zwmDHb1fQegTX66UokLWZkJRpqSSHXDOWZ5V0iqhbxOEky91atA==", + "Microsoft.Extensions.Logging/8.0.0": { + "sha512": "tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", "type": "package", - "path": "microsoft.extensions.logging/7.0.0", + "path": "microsoft.extensions.logging/8.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", + "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", "buildTransitive/net461/Microsoft.Extensions.Logging.targets", "buildTransitive/net462/_._", @@ -2464,24 +2732,27 @@ "lib/net6.0/Microsoft.Extensions.Logging.xml", "lib/net7.0/Microsoft.Extensions.Logging.dll", "lib/net7.0/Microsoft.Extensions.Logging.xml", + "lib/net8.0/Microsoft.Extensions.Logging.dll", + "lib/net8.0/Microsoft.Extensions.Logging.xml", "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", - "microsoft.extensions.logging.7.0.0.nupkg.sha512", + "microsoft.extensions.logging.8.0.0.nupkg.sha512", "microsoft.extensions.logging.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Logging.Abstractions/7.0.0": { - "sha512": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==", + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "sha512": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", "type": "package", - "path": "microsoft.extensions.logging.abstractions/7.0.0", + "path": "microsoft.extensions.logging.abstractions/8.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", + "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", @@ -2536,38 +2807,58 @@ "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512", "microsoft.extensions.logging.abstractions.nuspec", "useSharedDesignerContext.txt" ] }, - "Microsoft.Extensions.Options/7.0.0": { - "sha512": "lP1yBnTTU42cKpMozuafbvNtQ7QcBjr/CcK3bYOGEMH55Fjt+iecXjT6chR7vbgCMqy3PG3aNQSZgo/EuY/9qQ==", + "Microsoft.Extensions.Options/8.0.0": { + "sha512": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", "type": "package", - "path": "microsoft.extensions.options/7.0.0", + "path": "microsoft.extensions.options/8.0.0", "files": [ ".nupkg.metadata", ".signature.p7s", "Icon.png", "LICENSE.TXT", + "PACKAGE.md", "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", "buildTransitive/net461/Microsoft.Extensions.Options.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", "lib/net462/Microsoft.Extensions.Options.dll", "lib/net462/Microsoft.Extensions.Options.xml", "lib/net6.0/Microsoft.Extensions.Options.dll", "lib/net6.0/Microsoft.Extensions.Options.xml", "lib/net7.0/Microsoft.Extensions.Options.dll", "lib/net7.0/Microsoft.Extensions.Options.xml", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.xml", "lib/netstandard2.0/Microsoft.Extensions.Options.dll", "lib/netstandard2.0/Microsoft.Extensions.Options.xml", "lib/netstandard2.1/Microsoft.Extensions.Options.dll", "lib/netstandard2.1/Microsoft.Extensions.Options.xml", - "microsoft.extensions.options.7.0.0.nupkg.sha512", + "microsoft.extensions.options.8.0.0.nupkg.sha512", "microsoft.extensions.options.nuspec", "useSharedDesignerContext.txt" ] @@ -2717,6 +3008,58 @@ "version.txt" ] }, + "Microsoft.Win32.SystemEvents/6.0.0": { + "sha512": "hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==", + "type": "package", + "path": "microsoft.win32.systemevents/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/Microsoft.Win32.SystemEvents.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/Microsoft.Win32.SystemEvents.dll", + "lib/net461/Microsoft.Win32.SystemEvents.xml", + "lib/net6.0/Microsoft.Win32.SystemEvents.dll", + "lib/net6.0/Microsoft.Win32.SystemEvents.xml", + "lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.dll", + "lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.xml", + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.dll", + "lib/netstandard2.0/Microsoft.Win32.SystemEvents.xml", + "microsoft.win32.systemevents.6.0.0.nupkg.sha512", + "microsoft.win32.systemevents.nuspec", + "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll", + "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.xml", + "runtimes/win/lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.dll", + "runtimes/win/lib/netcoreapp3.1/Microsoft.Win32.SystemEvents.xml", + "useSharedDesignerContext.txt" + ] + }, + "Minio/6.0.2": { + "sha512": "4Od4uGANX5X0AL90WV0viBNzpE2+jDHro6CGvR4//MVj5SiTTwR5SUikXgd/2G2PtYyXw4b/IBpo7Kt5cCCndA==", + "type": "package", + "path": "minio/6.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "icon.png", + "lib/net6.0/Minio.dll", + "lib/net6.0/Minio.pdb", + "lib/net6.0/Minio.xml", + "lib/net7.0/Minio.dll", + "lib/net7.0/Minio.pdb", + "lib/net7.0/Minio.xml", + "lib/netstandard2.0/Minio.dll", + "lib/netstandard2.0/Minio.pdb", + "lib/netstandard2.0/Minio.xml", + "minio.6.0.2.nupkg.sha512", + "minio.nuspec", + "readme.md" + ] + }, "MQTTnet/4.3.6.1152": { "sha512": "XBgqx60FIWiBqTiLNF40EIhENLrLDzE3I9ujzZ7343QCeAWTHP70fO0mN6LeElSfubzfRSugLpPnd0cZiccUOw==", "type": "package", @@ -2752,6 +3095,41 @@ "nuget.png" ] }, + "MQTTnet.Extensions.ManagedClient/4.3.6.1152": { + "sha512": "s+99E5yks/h7gZlGvnva9mTeYUqd9E6YMj2AeT8cRo5ef3mXjhkafFfi1K6+ScBvPyd5rafWV30V2vHz9/2Sug==", + "type": "package", + "path": "mqttnet.extensions.managedclient/4.3.6.1152", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net452/MQTTnet.Extensions.ManagedClient.dll", + "lib/net452/MQTTnet.Extensions.ManagedClient.xml", + "lib/net461/MQTTnet.Extensions.ManagedClient.dll", + "lib/net461/MQTTnet.Extensions.ManagedClient.xml", + "lib/net48/MQTTnet.Extensions.ManagedClient.dll", + "lib/net48/MQTTnet.Extensions.ManagedClient.xml", + "lib/net5.0/MQTTnet.Extensions.ManagedClient.dll", + "lib/net5.0/MQTTnet.Extensions.ManagedClient.xml", + "lib/net6.0/MQTTnet.Extensions.ManagedClient.dll", + "lib/net6.0/MQTTnet.Extensions.ManagedClient.xml", + "lib/net7.0/MQTTnet.Extensions.ManagedClient.dll", + "lib/net7.0/MQTTnet.Extensions.ManagedClient.xml", + "lib/netcoreapp3.1/MQTTnet.Extensions.ManagedClient.dll", + "lib/netcoreapp3.1/MQTTnet.Extensions.ManagedClient.xml", + "lib/netstandard1.3/MQTTnet.Extensions.ManagedClient.dll", + "lib/netstandard1.3/MQTTnet.Extensions.ManagedClient.xml", + "lib/netstandard2.0/MQTTnet.Extensions.ManagedClient.dll", + "lib/netstandard2.0/MQTTnet.Extensions.ManagedClient.xml", + "lib/netstandard2.1/MQTTnet.Extensions.ManagedClient.dll", + "lib/netstandard2.1/MQTTnet.Extensions.ManagedClient.xml", + "lib/uap10.0.10240/MQTTnet.Extensions.ManagedClient.dll", + "lib/uap10.0.10240/MQTTnet.Extensions.ManagedClient.pri", + "lib/uap10.0.10240/MQTTnet.Extensions.ManagedClient.xml", + "mqttnet.extensions.managedclient.4.3.6.1152.nupkg.sha512", + "mqttnet.extensions.managedclient.nuspec", + "nuget.png" + ] + }, "Newtonsoft.Json/13.0.3": { "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", "type": "package", @@ -2782,6 +3160,27 @@ "packageIcon.png" ] }, + "Quartz/3.10.0": { + "sha512": "9LqcKWFtn5nrj7KX8VASOK8FMgrgMCT9NlHzDtYtVQlKMnOaf45329KnA4dNSmpQqJofZqEJPnsIlnQP4xNbyA==", + "type": "package", + "path": "quartz/3.10.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net462/Quartz.dll", + "lib/net462/Quartz.xml", + "lib/net472/Quartz.dll", + "lib/net472/Quartz.xml", + "lib/net6.0/Quartz.dll", + "lib/net6.0/Quartz.xml", + "lib/netstandard2.0/Quartz.dll", + "lib/netstandard2.0/Quartz.xml", + "quartz-logo-small.png", + "quartz.3.10.0.nupkg.sha512", + "quartz.nuspec", + "quick-start.md" + ] + }, "runtime.native.System/4.3.0": { "sha512": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", "type": "package", @@ -3818,6 +4217,45 @@ "system.diagnostics.process.nuspec" ] }, + "System.Drawing.Common/6.0.0": { + "sha512": "NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", + "type": "package", + "path": "system.drawing.common/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Drawing.Common.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net461/System.Drawing.Common.dll", + "lib/net461/System.Drawing.Common.xml", + "lib/net6.0/System.Drawing.Common.dll", + "lib/net6.0/System.Drawing.Common.xml", + "lib/netcoreapp3.1/System.Drawing.Common.dll", + "lib/netcoreapp3.1/System.Drawing.Common.xml", + "lib/netstandard2.0/System.Drawing.Common.dll", + "lib/netstandard2.0/System.Drawing.Common.xml", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "runtimes/unix/lib/net6.0/System.Drawing.Common.dll", + "runtimes/unix/lib/net6.0/System.Drawing.Common.xml", + "runtimes/unix/lib/netcoreapp3.1/System.Drawing.Common.dll", + "runtimes/unix/lib/netcoreapp3.1/System.Drawing.Common.xml", + "runtimes/win/lib/net6.0/System.Drawing.Common.dll", + "runtimes/win/lib/net6.0/System.Drawing.Common.xml", + "runtimes/win/lib/netcoreapp3.1/System.Drawing.Common.dll", + "runtimes/win/lib/netcoreapp3.1/System.Drawing.Common.xml", + "system.drawing.common.6.0.0.nupkg.sha512", + "system.drawing.common.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.Globalization/4.3.0": { "sha512": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", "type": "package", @@ -4044,6 +4482,36 @@ "system.io.filesystem.primitives.nuspec" ] }, + "System.IO.Hashing/8.0.0": { + "sha512": "ne1843evDugl0md7Fjzy6QjJrzsjh46ZKbhf8GwBXb5f/gw97J4bxMs0NQKifDuThh/f0bZ0e62NPl1jzTuRqA==", + "type": "package", + "path": "system.io.hashing/8.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.IO.Hashing.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.IO.Hashing.targets", + "lib/net462/System.IO.Hashing.dll", + "lib/net462/System.IO.Hashing.xml", + "lib/net6.0/System.IO.Hashing.dll", + "lib/net6.0/System.IO.Hashing.xml", + "lib/net7.0/System.IO.Hashing.dll", + "lib/net7.0/System.IO.Hashing.xml", + "lib/net8.0/System.IO.Hashing.dll", + "lib/net8.0/System.IO.Hashing.xml", + "lib/netstandard2.0/System.IO.Hashing.dll", + "lib/netstandard2.0/System.IO.Hashing.xml", + "system.io.hashing.8.0.0.nupkg.sha512", + "system.io.hashing.nuspec", + "useSharedDesignerContext.txt" + ] + }, "System.Management/8.0.0": { "sha512": "jrK22i5LRzxZCfGb+tGmke2VH7oE0DvcDlJ1HAKYU8cPmD8XnpUT0bYn2Gy98GEhGjtfbR/sxKTVb+dE770pfA==", "type": "package", @@ -4098,6 +4566,34 @@ "version.txt" ] }, + "System.Reactive/6.0.0": { + "sha512": "31kfaW4ZupZzPsI5PVe77VhnvFF55qgma7KZr/E0iFTs6fmdhhG8j0mgEx620iLTey1EynOkEfnyTjtNEpJzGw==", + "type": "package", + "path": "system.reactive/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/net6.0-windows10.0.19041/_._", + "build/net6.0/_._", + "buildTransitive/net6.0-windows10.0.19041/_._", + "buildTransitive/net6.0/_._", + "icon.png", + "lib/net472/System.Reactive.dll", + "lib/net472/System.Reactive.xml", + "lib/net6.0-windows10.0.19041/System.Reactive.dll", + "lib/net6.0-windows10.0.19041/System.Reactive.xml", + "lib/net6.0/System.Reactive.dll", + "lib/net6.0/System.Reactive.xml", + "lib/netstandard2.0/System.Reactive.dll", + "lib/netstandard2.0/System.Reactive.xml", + "lib/uap10.0.18362/System.Reactive.dll", + "lib/uap10.0.18362/System.Reactive.pri", + "lib/uap10.0.18362/System.Reactive.xml", + "readme.md", + "system.reactive.6.0.0.nupkg.sha512", + "system.reactive.nuspec" + ] + }, "System.Reflection/4.3.0": { "sha512": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", "type": "package", @@ -5325,44 +5821,50 @@ }, "projectFileDependencyGroups": { "net7.0": [ + "BouncyCastle.NetCore >= 2.2.1", + "M2Mqtt >= 4.3.0", + "MQTTnet.Extensions.ManagedClient >= 4.3.6.1152", "MasstransferCommon >= 1.0.0", "MasstransferInfrastructure >= 1.0.0", "Serilog >= 4.0.0", "Serilog.Sinks.Console >= 6.0.0", "System.Diagnostics.Process >= 4.3.0", + "System.Drawing.Common >= 6.0.0", "System.Management >= 8.0.0" ] }, "packageFolders": { - "C:\\Users\\huangxianguo\\.nuget\\packages\\": {} + "C:\\Users\\wangkaiyi\\.nuget\\packages\\": {} }, "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj", + "projectUniqueName": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj", "projectName": "MasstransferExporter", - "projectPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj", - "packagesPath": "C:\\Users\\huangxianguo\\.nuget\\packages\\", - "outputPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferExporter\\obj\\", + "projectPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj", + "packagesPath": "C:\\Users\\wangkaiyi\\.nuget\\packages\\", + "outputPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferExporter\\obj\\", "projectStyle": "PackageReference", "configFilePaths": [ - "C:\\Users\\huangxianguo\\AppData\\Roaming\\NuGet\\NuGet.Config" + "C:\\Users\\wangkaiyi\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], "originalTargetFrameworks": [ "net7.0" ], "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, "https://api.nuget.org/v3/index.json": {} }, "frameworks": { "net7.0": { "targetAlias": "net7.0", "projectReferences": { - "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj": { - "projectPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj" + "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj": { + "projectPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj" }, - "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj": { - "projectPath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj" + "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj": { + "projectPath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj" } } } @@ -5377,6 +5879,18 @@ "net7.0": { "targetAlias": "net7.0", "dependencies": { + "BouncyCastle.NetCore": { + "target": "Package", + "version": "[2.2.1, )" + }, + "M2Mqtt": { + "target": "Package", + "version": "[4.3.0, )" + }, + "MQTTnet.Extensions.ManagedClient": { + "target": "Package", + "version": "[4.3.6.1152, )" + }, "Serilog": { "target": "Package", "version": "[4.0.0, )" @@ -5389,6 +5903,10 @@ "target": "Package", "version": "[4.3.0, )" }, + "System.Drawing.Common": { + "target": "Package", + "version": "[6.0.0, )" + }, "System.Management": { "target": "Package", "version": "[8.0.0, )" @@ -5410,8 +5928,20 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.407\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.203\\RuntimeIdentifierGraph.json" } } - } + }, + "logs": [ + { + "code": "NU1701", + "level": "Warning", + "warningLevel": 1, + "message": "Package 'M2Mqtt 4.3.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net7.0'. This package may not be fully compatible with your project.", + "libraryId": "M2Mqtt", + "targetGraphs": [ + "net7.0" + ] + } + ] } \ No newline at end of file diff --git a/MasstransferExporter/obj/project.nuget.cache b/MasstransferExporter/obj/project.nuget.cache index 63014c1..3b977c2 100644 --- a/MasstransferExporter/obj/project.nuget.cache +++ b/MasstransferExporter/obj/project.nuget.cache @@ -1,106 +1,127 @@ { "version": 2, - "dgSpecHash": "qJh0L70+oWr2dB9G/p2yrEix7NcG7uEXZRmwdZRxjEpz0cpVLcoFODENIyQIpm9yl4aXXzoHRU2g7ZXGyPKNtg==", + "dgSpecHash": "dYyVhPnTv7QovQK0MYf58lpJBVKGYNJGEOZfj3b+mHw35fEYKLnV7y1R7IV1E+G/3+evzajJM8c/9gxpBpwIAg==", "success": true, - "projectFilePath": "C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj", + "projectFilePath": "C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj", "expectedPackageFiles": [ - "C:\\Users\\huangxianguo\\.nuget\\packages\\anglesharp\\1.1.2\\anglesharp.1.1.2.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\anglesharp.css\\1.0.0-beta.139\\anglesharp.css.1.0.0-beta.139.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\castle.core\\5.1.1\\castle.core.5.1.1.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\dnsclient\\1.7.0\\dnsclient.1.7.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\entityframework\\6.4.4\\entityframework.6.4.4.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\masuit.tools.abstractions\\2024.3.4\\masuit.tools.abstractions.2024.3.4.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\masuit.tools.core\\2024.3.4\\masuit.tools.core.2024.3.4.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.data.sqlite\\9.0.0-preview.2.24128.4\\microsoft.data.sqlite.9.0.0-preview.2.24128.4.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.data.sqlite.core\\9.0.0-preview.2.24128.4\\microsoft.data.sqlite.core.9.0.0-preview.2.24128.4.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.entityframeworkcore\\7.0.15\\microsoft.entityframeworkcore.7.0.15.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\7.0.15\\microsoft.entityframeworkcore.abstractions.7.0.15.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\7.0.15\\microsoft.entityframeworkcore.analyzers.7.0.15.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\7.0.0\\microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\7.0.0\\microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\7.0.0\\microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.logging\\7.0.0\\microsoft.extensions.logging.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.0\\microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.options\\7.0.0\\microsoft.extensions.options.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.win32.primitives\\4.3.0\\microsoft.win32.primitives.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\microsoft.win32.registry\\5.0.0\\microsoft.win32.registry.5.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\mqttnet\\4.3.6.1152\\mqttnet.4.3.6.1152.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.7.0\\runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\serilog\\4.0.0\\serilog.4.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\serilog.sinks.console\\6.0.0\\serilog.sinks.console.6.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\serilog.sinks.file\\5.0.1-dev-00972\\serilog.sinks.file.5.0.1-dev-00972.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sharpcompress\\0.37.2\\sharpcompress.0.37.2.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sixlabors.fonts\\2.0.3\\sixlabors.fonts.2.0.3.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sixlabors.imagesharp\\3.1.4\\sixlabors.imagesharp.3.1.4.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sixlabors.imagesharp.drawing\\2.1.3\\sixlabors.imagesharp.drawing.2.1.3.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlite-net\\1.6.292\\sqlite-net.1.6.292.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlite-net-sqlcipher\\1.9.172\\sqlite-net-sqlcipher.1.9.172.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlcipher\\2.1.2\\sqlitepclraw.bundle_e_sqlcipher.2.1.2.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\2.1.7\\sqlitepclraw.bundle_e_sqlite3.2.1.7.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlitepclraw.core\\2.1.7\\sqlitepclraw.core.2.1.7.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlitepclraw.lib.e_sqlcipher\\2.1.2\\sqlitepclraw.lib.e_sqlcipher.2.1.2.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3\\2.1.7\\sqlitepclraw.lib.e_sqlite3.2.1.7.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlitepclraw.provider.e_sqlcipher\\2.1.2\\sqlitepclraw.provider.e_sqlcipher.2.1.2.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\2.1.7\\sqlitepclraw.provider.e_sqlite3.2.1.7.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\stateless\\5.15.0\\stateless.5.15.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\stub.system.data.sqlite.core.netstandard\\1.0.118\\stub.system.data.sqlite.core.netstandard.1.0.118.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.codedom\\8.0.0\\system.codedom.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.collections.immutable\\8.0.0\\system.collections.immutable.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.componentmodel.annotations\\4.7.0\\system.componentmodel.annotations.4.7.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.configuration.configurationmanager\\8.0.0\\system.configuration.configurationmanager.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.data.sqlclient\\4.8.1\\system.data.sqlclient.4.8.1.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.data.sqlite\\1.0.118\\system.data.sqlite.1.0.118.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.data.sqlite.core\\1.0.118\\system.data.sqlite.core.1.0.118.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.data.sqlite.ef6\\1.0.118\\system.data.sqlite.ef6.1.0.118.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.diagnostics.performancecounter\\7.0.0\\system.diagnostics.performancecounter.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.diagnostics.process\\4.3.0\\system.diagnostics.process.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.management\\8.0.0\\system.management.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.reflection.emit.lightweight\\4.7.0\\system.reflection.emit.lightweight.4.7.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.security.accesscontrol\\5.0.0\\system.security.accesscontrol.5.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.security.cryptography.protecteddata\\8.0.0\\system.security.cryptography.protecteddata.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.security.principal.windows\\5.0.0\\system.security.principal.windows.5.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.text.encoding.codepages\\7.0.0\\system.text.encoding.codepages.7.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.text.encoding.extensions\\4.3.0\\system.text.encoding.extensions.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.threading.thread\\4.3.0\\system.threading.thread.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\system.threading.threadpool\\4.3.0\\system.threading.threadpool.4.3.0.nupkg.sha512", - "C:\\Users\\huangxianguo\\.nuget\\packages\\zstdsharp.port\\0.8.0\\zstdsharp.port.0.8.0.nupkg.sha512" + "C:\\Users\\wangkaiyi\\.nuget\\packages\\anglesharp\\1.1.2\\anglesharp.1.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\anglesharp.css\\1.0.0-beta.139\\anglesharp.css.1.0.0-beta.139.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\bouncycastle.netcore\\2.2.1\\bouncycastle.netcore.2.2.1.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\castle.core\\5.1.1\\castle.core.5.1.1.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\communitytoolkit.highperformance\\8.2.2\\communitytoolkit.highperformance.8.2.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\dnsclient\\1.7.0\\dnsclient.1.7.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\entityframework\\6.4.4\\entityframework.6.4.4.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\m2mqtt\\4.3.0\\m2mqtt.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\masuit.tools.abstractions\\2024.3.4\\masuit.tools.abstractions.2024.3.4.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\masuit.tools.core\\2024.3.4\\masuit.tools.core.2024.3.4.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.data.sqlite\\9.0.0-preview.2.24128.4\\microsoft.data.sqlite.9.0.0-preview.2.24128.4.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.data.sqlite.core\\9.0.0-preview.2.24128.4\\microsoft.data.sqlite.core.9.0.0-preview.2.24128.4.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.entityframeworkcore\\7.0.15\\microsoft.entityframeworkcore.7.0.15.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\7.0.15\\microsoft.entityframeworkcore.abstractions.7.0.15.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\7.0.15\\microsoft.entityframeworkcore.analyzers.7.0.15.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\7.0.0\\microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.logging\\8.0.0\\microsoft.extensions.logging.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.0\\microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.options\\8.0.0\\microsoft.extensions.options.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.win32.primitives\\4.3.0\\microsoft.win32.primitives.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.win32.registry\\5.0.0\\microsoft.win32.registry.5.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\minio\\6.0.2\\minio.6.0.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\mqttnet\\4.3.6.1152\\mqttnet.4.3.6.1152.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\mqttnet.extensions.managedclient\\4.3.6.1152\\mqttnet.extensions.managedclient.4.3.6.1152.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\quartz\\3.10.0\\quartz.3.10.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.7.0\\runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\serilog\\4.0.0\\serilog.4.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\serilog.sinks.console\\6.0.0\\serilog.sinks.console.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\serilog.sinks.file\\5.0.1-dev-00972\\serilog.sinks.file.5.0.1-dev-00972.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sharpcompress\\0.37.2\\sharpcompress.0.37.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sixlabors.fonts\\2.0.3\\sixlabors.fonts.2.0.3.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sixlabors.imagesharp\\3.1.4\\sixlabors.imagesharp.3.1.4.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sixlabors.imagesharp.drawing\\2.1.3\\sixlabors.imagesharp.drawing.2.1.3.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlite-net\\1.6.292\\sqlite-net.1.6.292.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlite-net-sqlcipher\\1.9.172\\sqlite-net-sqlcipher.1.9.172.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlcipher\\2.1.2\\sqlitepclraw.bundle_e_sqlcipher.2.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\2.1.7\\sqlitepclraw.bundle_e_sqlite3.2.1.7.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.core\\2.1.7\\sqlitepclraw.core.2.1.7.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.lib.e_sqlcipher\\2.1.2\\sqlitepclraw.lib.e_sqlcipher.2.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3\\2.1.7\\sqlitepclraw.lib.e_sqlite3.2.1.7.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.provider.e_sqlcipher\\2.1.2\\sqlitepclraw.provider.e_sqlcipher.2.1.2.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\2.1.7\\sqlitepclraw.provider.e_sqlite3.2.1.7.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\stateless\\5.15.0\\stateless.5.15.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\stub.system.data.sqlite.core.netstandard\\1.0.118\\stub.system.data.sqlite.core.netstandard.1.0.118.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.codedom\\8.0.0\\system.codedom.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.collections.immutable\\8.0.0\\system.collections.immutable.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.componentmodel.annotations\\4.7.0\\system.componentmodel.annotations.4.7.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.configuration.configurationmanager\\8.0.0\\system.configuration.configurationmanager.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.data.sqlclient\\4.8.1\\system.data.sqlclient.4.8.1.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.data.sqlite\\1.0.118\\system.data.sqlite.1.0.118.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.data.sqlite.core\\1.0.118\\system.data.sqlite.core.1.0.118.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.data.sqlite.ef6\\1.0.118\\system.data.sqlite.ef6.1.0.118.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.diagnostics.performancecounter\\7.0.0\\system.diagnostics.performancecounter.7.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.diagnostics.process\\4.3.0\\system.diagnostics.process.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.drawing.common\\6.0.0\\system.drawing.common.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.io.hashing\\8.0.0\\system.io.hashing.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.management\\8.0.0\\system.management.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.reactive\\6.0.0\\system.reactive.6.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.reflection.emit.lightweight\\4.7.0\\system.reflection.emit.lightweight.4.7.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.security.accesscontrol\\5.0.0\\system.security.accesscontrol.5.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.security.cryptography.protecteddata\\8.0.0\\system.security.cryptography.protecteddata.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.security.principal.windows\\5.0.0\\system.security.principal.windows.5.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.text.encoding.codepages\\7.0.0\\system.text.encoding.codepages.7.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.text.encoding.extensions\\4.3.0\\system.text.encoding.extensions.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.threading.thread\\4.3.0\\system.threading.thread.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\system.threading.threadpool\\4.3.0\\system.threading.threadpool.4.3.0.nupkg.sha512", + "C:\\Users\\wangkaiyi\\.nuget\\packages\\zstdsharp.port\\0.8.0\\zstdsharp.port.0.8.0.nupkg.sha512" ], - "logs": [] + "logs": [ + { + "code": "NU1701", + "level": "Warning", + "warningLevel": 1, + "message": "Package 'M2Mqtt 4.3.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net7.0'. This package may not be fully compatible with your project.", + "libraryId": "M2Mqtt", + "targetGraphs": [ + "net7.0" + ] + } + ] } \ No newline at end of file diff --git a/MasstransferExporter/obj/project.packagespec.json b/MasstransferExporter/obj/project.packagespec.json index 7a88ee2..6d01795 100644 --- a/MasstransferExporter/obj/project.packagespec.json +++ b/MasstransferExporter/obj/project.packagespec.json @@ -1 +1 @@ -"restore":{"projectUniqueName":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj","projectName":"MasstransferExporter","projectPath":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj","outputPath":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferExporter\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net7.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net7.0":{"targetAlias":"net7.0","projectReferences":{"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj":{"projectPath":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj"},"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj":{"projectPath":"C:\\workspace\\code_repos\\haiju\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net7.0":{"targetAlias":"net7.0","dependencies":{"Serilog":{"target":"Package","version":"[4.0.0, )"},"Serilog.Sinks.Console":{"target":"Package","version":"[6.0.0, )"},"System.Diagnostics.Process":{"target":"Package","version":"[4.3.0, )"},"System.Management":{"target":"Package","version":"[8.0.0, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\7.0.407\\RuntimeIdentifierGraph.json"}} \ No newline at end of file +"restore":{"projectUniqueName":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj","projectName":"MasstransferExporter","projectPath":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferExporter\\MasstransferExporter.csproj","outputPath":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferExporter\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net7.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net7.0":{"targetAlias":"net7.0","projectReferences":{"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj":{"projectPath":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferCommon\\MasstransferCommon.csproj"},"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj":{"projectPath":"C:\\Users\\wangkaiyi\\RiderProjects\\MasstransferExporter\\MasstransferInfrastructure\\MasstransferInfrastructure.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net7.0":{"targetAlias":"net7.0","dependencies":{"BouncyCastle.NetCore":{"target":"Package","version":"[2.2.1, )"},"M2Mqtt":{"target":"Package","version":"[4.3.0, )"},"MQTTnet.Extensions.ManagedClient":{"target":"Package","version":"[4.3.6.1152, )"},"Serilog":{"target":"Package","version":"[4.0.0, )"},"Serilog.Sinks.Console":{"target":"Package","version":"[6.0.0, )"},"System.Diagnostics.Process":{"target":"Package","version":"[4.3.0, )"},"System.Drawing.Common":{"target":"Package","version":"[6.0.0, )"},"System.Management":{"target":"Package","version":"[8.0.0, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\8.0.203\\RuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/MasstransferExporter/obj/rider.project.model.nuget.info b/MasstransferExporter/obj/rider.project.model.nuget.info index bf4ae2c..d8f4e67 100644 --- a/MasstransferExporter/obj/rider.project.model.nuget.info +++ b/MasstransferExporter/obj/rider.project.model.nuget.info @@ -1 +1 @@ -17181740462385706 \ No newline at end of file +17234348283873748 \ No newline at end of file diff --git a/MasstransferExporter/obj/rider.project.restore.info b/MasstransferExporter/obj/rider.project.restore.info index adc8bf5..315e907 100644 --- a/MasstransferExporter/obj/rider.project.restore.info +++ b/MasstransferExporter/obj/rider.project.restore.info @@ -1 +1 @@ -17187849296915031 \ No newline at end of file +17234348310820990 \ No newline at end of file diff --git a/MasstransferInfrastructure/Http/ApiClient.cs b/MasstransferInfrastructure/Http/ApiClient.cs index 201e15b..4a8e2c2 100644 --- a/MasstransferInfrastructure/Http/ApiClient.cs +++ b/MasstransferInfrastructure/Http/ApiClient.cs @@ -67,6 +67,20 @@ public class ApiClient : IDisposable response.EnsureSuccessStatusCode(); return await response.Content.ReadFromJsonAsync(); } + + /// + /// 异步下载文件 + /// + /// + /// + public static async Task DownloadFileAsync(string url, string filePath) + { + using var response = await Client.GetAsync(url); + response.EnsureSuccessStatusCode(); + + using var fs = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None); + await response.Content.CopyToAsync(fs); + } public void Dispose() { diff --git a/MasstransferInfrastructure/OTA/Client/OTAClient.cs b/MasstransferInfrastructure/OTA/Client/OTAClient.cs new file mode 100644 index 0000000..707840f --- /dev/null +++ b/MasstransferInfrastructure/OTA/Client/OTAClient.cs @@ -0,0 +1,179 @@ +using System.IO.Compression; +using MasstransferCommon.Utils; +using MasstransferInfrastructure.OTA.Model; + +namespace MasstransferInfrastructure.OTA.Client; + +public class OTAClient +{ + /// + /// 检查更新 + /// + /// + /// + public async Task CheckForUpdate(string updateUrl) + { + return await ApiClient.GetAsync(updateUrl); + } + + /// + /// 下载更新 + /// + /// + /// + public async Task DownloadUpdateAsync(string downloadUrl, string filePath) + { + await ApiClient.DownloadFileAsync(downloadUrl, filePath); + } + + /// + /// 备份保存重要文件 + /// + /// 源地址 + /// 目标地址 + /// 保存文件扩展名 + /// 保存文件日志 + public void BackupEssentialFiles(string sourceDir, string destinationDir, string[] fileExtension, string logFileDir) + { + try + { + // 获取当前目录的所有文件 + string[] files = Directory.GetFiles(sourceDir); + + //遍历当前目录文件是否是重要文件 + foreach (string file in files) + { + string extension = Path.GetExtension(file).ToLower(); + if (Array.Exists(fileExtension, ext => ext.Equals(extension, StringComparison.OrdinalIgnoreCase))) + { + // 备份文件到新目录 + string destFile = Path.Combine(destinationDir, Path.GetFileName(file)); + File.Copy(file, destFile, true); + + // 记录文件的源地址 + File.AppendAllText(logFileDir, $"{file}\n"); + } + } + // 递归遍历子文件夹 + string[] directories = Directory.GetDirectories(sourceDir); + foreach (string directory in directories) + { + BackupEssentialFiles(directory, destinationDir,fileExtension, logFileDir); + } + + } + catch (Exception ex) + { + Console.WriteLine($"An error occurred: {ex.Message}"); + + // 失败则删除重要文件备分 + if (Directory.Exists(destinationDir)) + { + DeleteDirectory(destinationDir); + } + } + } + + /// + /// 恢复重要文件 + /// + /// 重要文件备份日志 + public void RecoverCriticalFiles(string logFileDir) + { + try + { + // 恢复备份 + using (StreamReader reader = new StreamReader(logFileDir)) + { + string line; + while ((line = reader.ReadLine()) != null) + { + var currentFilePath = Path.Combine(Path.GetDirectoryName(logFileDir), Path.GetFileName(line)); + File.Copy(currentFilePath,line, true); + } + } + + //删除重要文件备份 + DeleteDirectory(Path.GetDirectoryName(logFileDir)); + } + catch (Exception ex) + { + Console.WriteLine($"读取失败: {ex.Message}"); + } + } + + /// + /// 压缩目录 + /// + /// 源目录地址 + /// 压缩文件保存地址 + public void CompressDirectory(string sourceDir, string zipFilePath) + { + try + { + if (File.Exists(zipFilePath)) + { + File.Delete(zipFilePath); + } + ZipFile.CreateFromDirectory(sourceDir, zipFilePath, CompressionLevel.Fastest, false); + } + catch(Exception ex) + { + Console.WriteLine($"An error occurred: {ex.Message}"); + + // 失败,则删除损坏或者部分创建的压缩包 + if (File.Exists(zipFilePath)) + { + DeleteFile(zipFilePath); + } + } + } + + /// + /// 解压缩目录 + /// + /// 压缩文件地址 + /// 解压目录 + public void ExtractDirectory(string zipFilePath, string extractPath) + { + try + { + ZipFile.ExtractToDirectory(zipFilePath, extractPath); + } + catch (Exception ex) + { + Console.WriteLine($"解压失败: {ex.Message}"); + + // 失败,则删除可能产生的文件 + if (Directory.Exists(extractPath)) + { + DeleteDirectory(extractPath); + } + } + } + + /// + /// 删除目录 + /// + /// 删除目录地址 + public void DeleteDirectory(string sourceDir) + { + if (Directory.Exists(sourceDir)) + { + // 删除目录中的所有文件 + Directory.Delete(sourceDir, recursive: true); + } + } + + /// + /// 删除文件 + /// + /// 删除文件地址 + public void DeleteFile(string sourceDir) + { + if (File.Exists(sourceDir)) + { + File.Delete(sourceDir); + } + } +} \ No newline at end of file diff --git a/MasstransferInfrastructure/OTA/Model/UpdateInfo.cs b/MasstransferInfrastructure/OTA/Model/UpdateInfo.cs new file mode 100644 index 0000000..c1d5bad --- /dev/null +++ b/MasstransferInfrastructure/OTA/Model/UpdateInfo.cs @@ -0,0 +1,8 @@ +namespace MasstransferInfrastructure.OTA.Model; + +public class UpdateInfo +{ + public bool IsUpdateAvailable { get; set; } + public string Version { get; set; } + public string DownloadUrl { get; set; } +} \ No newline at end of file diff --git a/MasstransferInfrastructure/OTA/Service/OTAService.cs b/MasstransferInfrastructure/OTA/Service/OTAService.cs new file mode 100644 index 0000000..c34ea89 --- /dev/null +++ b/MasstransferInfrastructure/OTA/Service/OTAService.cs @@ -0,0 +1,126 @@ +using MasstransferInfrastructure.OTA.Client; +using MasstransferInfrastructure.OTA.Model; + +namespace MasstransferInfrastructure.OTA.Service; + +public class OTAService +{ + private readonly OTAClient _otaClient; + + private readonly string appDir; + private readonly string criticalBackupDir; + private readonly string criticalSourceLogPath; + private readonly string[] criticalFileExtension; + private readonly string previousBackupPath; + private readonly string updatePackagePath; + + + public OTAService(string AppDir, string CriticalBackupDir, string CriticalSourceLogPath, string[] CriticalFileExtension, string PreviousBackupPath, string UpdatePackagePath) + { + _otaClient = new OTAClient(); + appDir = AppDir; + criticalBackupDir = CriticalBackupDir; + criticalSourceLogPath = CriticalSourceLogPath; + criticalFileExtension = CriticalFileExtension; + previousBackupPath = PreviousBackupPath; + updatePackagePath = UpdatePackagePath; + } + + /// + /// 更新压缩包 + /// + public void Update() + { + try + { + //初始化 + initDir(); + + //备份重要文件 + _otaClient.BackupEssentialFiles(appDir, criticalBackupDir, criticalFileExtension, criticalSourceLogPath); + + //备份旧版本文件 + _otaClient.CompressDirectory(appDir, previousBackupPath); + + try + { + //删除旧版本原文件 + _otaClient.DeleteDirectory(appDir); + + //解压更新包 + _otaClient.ExtractDirectory(updatePackagePath, appDir); + + //恢复重要文件 + _otaClient.RecoverCriticalFiles(criticalSourceLogPath); + + //删除旧版本备份文件 + _otaClient.DeleteFile(previousBackupPath); + + //删除更新包 + _otaClient.DeleteFile(updatePackagePath); + + } + catch (Exception ex) + { + RollBack(); + Console.WriteLine($"更新异常,已回滚: {ex.Message}"); + } + } + catch (Exception ex) + { + Console.WriteLine($"更新异常e: {ex.Message}"); + + //如果重要文件备份已经产生,则删除 + if(Directory.Exists(criticalBackupDir)) + { + _otaClient.DeleteDirectory(criticalBackupDir); + } + } + } + + /// + /// 初始化重要文件备份目录 + /// + private void initDir() + { + if (Directory.Exists(criticalBackupDir)) + { + Directory.Delete(criticalBackupDir, true); + } + Directory.CreateDirectory(criticalBackupDir); + + } + + /// + /// 回滚 + /// + private void RollBack() + { + //删除安装过程中创建的文件、目录 + var directoryList = new string[] { appDir, criticalBackupDir}; + var filePath = new String[] { updatePackagePath }; + + foreach (var directory in directoryList) + { + if (Directory.Exists(directory)) + { + _otaClient.DeleteDirectory(directory); + } + } + + foreach (var file in filePath) + { + if (File.Exists(file)) + { + _otaClient.DeleteFile(file); + } + } + + //恢复旧版本文件 + _otaClient.ExtractDirectory(previousBackupPath, appDir); + + //删除旧版本备份 + _otaClient.DeleteFile(previousBackupPath); + + } +} \ No newline at end of file diff --git a/UnitTest/OTATest.cs b/UnitTest/OTATest.cs new file mode 100644 index 0000000..465e678 --- /dev/null +++ b/UnitTest/OTATest.cs @@ -0,0 +1,31 @@ +using MasstransferInfrastructure.OTA.Service; +namespace UnitTest; + +[TestFixture] +public class OTATest +{ + private string appDir = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\Old"; + private string criticalBackupDir = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\CriticalBackup"; + private string criticalSourceLogPath = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\CriticalBackup\log.txt"; + private string[] criticalFileExtension = new string[] { ".db", ".reg" }; + + private string previousBackupPath = + @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\previousBackup.zip"; + + private string UpdatePackagePath = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\New.zip"; + + [SetUp] + public void Setup() + { + + } + + [Test] + public void Test1() + { + OTAService _otaService = new OTAService(appDir, criticalBackupDir, criticalSourceLogPath, criticalFileExtension, + previousBackupPath, UpdatePackagePath); + + _otaService.Update(); + } +} \ No newline at end of file diff --git a/UnitTest/UnitTest.csproj b/UnitTest/UnitTest.csproj new file mode 100644 index 0000000..4bfa2ab --- /dev/null +++ b/UnitTest/UnitTest.csproj @@ -0,0 +1,28 @@ + + + + net8.0 + enable + enable + + false + true + + + + + + + + + + + + + + + + + + + From 64cf3396835594f835ea904d6fccf95de4bc3e01 Mon Sep 17 00:00:00 2001 From: wangkaiyi Date: Tue, 20 Aug 2024 09:53:11 +0800 Subject: [PATCH 2/2] feat OTA --- .../net7.0/MasstransferCommon.AssemblyInfo.cs | 2 +- ...asstransferCommon.AssemblyInfoInputs.cache | 2 +- .../obj/rider.project.model.nuget.info | 2 +- MasstransferExporter.sln | 6 - .../License/LicenseService.cs | 7 +- .../OTA/Client/OTAClient.cs | 38 ++++-- .../OTA/Model/UpdateInfo.cs | 2 +- .../OTA/Service/OTAService.cs | 126 ++++++++++++++++++ .../MasstransferExporter.AssemblyInfo.cs | 2 +- ...stransferExporter.AssemblyInfoInputs.cache | 2 +- .../obj/rider.project.model.nuget.info | 2 +- MasstransferInfrastructure/Http/ApiClient.cs | 14 -- .../OTA/Service/OTAService.cs | 126 ------------------ UnitTest/OTATest.cs | 31 ----- UnitTest/UnitTest.csproj | 28 ---- 15 files changed, 162 insertions(+), 228 deletions(-) rename {MasstransferInfrastructure => MasstransferExporter}/OTA/Client/OTAClient.cs (84%) rename {MasstransferInfrastructure => MasstransferExporter}/OTA/Model/UpdateInfo.cs (75%) create mode 100644 MasstransferExporter/OTA/Service/OTAService.cs delete mode 100644 MasstransferInfrastructure/OTA/Service/OTAService.cs delete mode 100644 UnitTest/OTATest.cs delete mode 100644 UnitTest/UnitTest.csproj diff --git a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs index 5a3cb42..59b202e 100644 --- a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs +++ b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("MasstransferCommon")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c140544af7e52a0669ceafcb39aa5c4e97c5ccae")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a303714a635d3146132582a2408fc8cf76a69947")] [assembly: System.Reflection.AssemblyProductAttribute("MasstransferCommon")] [assembly: System.Reflection.AssemblyTitleAttribute("MasstransferCommon")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache index e03e6aa..6a21fc7 100644 --- a/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache +++ b/MasstransferCommon/obj/Debug/net7.0/MasstransferCommon.AssemblyInfoInputs.cache @@ -1 +1 @@ -bea321349982bc0eb41c769bdac56f18be90a91e28cbb7240ece837e7958e892 +04161de5d5b7e53625665da3c9aa9d1cc0c406c72bef7aeb16057254b572fd39 diff --git a/MasstransferCommon/obj/rider.project.model.nuget.info b/MasstransferCommon/obj/rider.project.model.nuget.info index 8960062..315e907 100644 --- a/MasstransferCommon/obj/rider.project.model.nuget.info +++ b/MasstransferCommon/obj/rider.project.model.nuget.info @@ -1 +1 @@ -17234348283768389 \ No newline at end of file +17234348310820990 \ No newline at end of file diff --git a/MasstransferExporter.sln b/MasstransferExporter.sln index 3ca82b8..4f46ac7 100644 --- a/MasstransferExporter.sln +++ b/MasstransferExporter.sln @@ -6,8 +6,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MasstransferInfrastructure" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MasstransferCommon", "MasstransferCommon\MasstransferCommon.csproj", "{66C6D73C-BADB-4E28-9C83-E701B019626D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTest", "UnitTest\UnitTest.csproj", "{3E23D7B1-7223-45A1-B0C3-7758372986E2}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -26,9 +24,5 @@ Global {66C6D73C-BADB-4E28-9C83-E701B019626D}.Debug|Any CPU.Build.0 = Debug|Any CPU {66C6D73C-BADB-4E28-9C83-E701B019626D}.Release|Any CPU.ActiveCfg = Release|Any CPU {66C6D73C-BADB-4E28-9C83-E701B019626D}.Release|Any CPU.Build.0 = Release|Any CPU - {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3E23D7B1-7223-45A1-B0C3-7758372986E2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/MasstransferExporter/License/LicenseService.cs b/MasstransferExporter/License/LicenseService.cs index 3d200ad..5bbb75e 100644 --- a/MasstransferExporter/License/LicenseService.cs +++ b/MasstransferExporter/License/LicenseService.cs @@ -17,12 +17,11 @@ public class LicenseService { await MessageQueueHelper.Subscribe(Topics.UpdateLicenseEvent, HandleUpdateLicenseEvent); } - - + /// /// 处理接收到的证书更新事件 /// - private static async Task HandleUpdateLicenseEvent(string topic, string license) + public static async Task HandleUpdateLicenseEvent(string topic, string license) { ProcessCommunicator.Subscribe(ProcessTopics.LicenseUpdateEventFeedback, HandleUpdateLicenseEventFeedback); @@ -34,7 +33,7 @@ public class LicenseService /// /// /// - private static async Task HandleUpdateLicenseEventFeedback(string topic, string result) + public static async Task HandleUpdateLicenseEventFeedback(string topic, string result) { await MessageQueueHelper.Publish(Topics.UpdateLicenseEventFeedback, result); } diff --git a/MasstransferInfrastructure/OTA/Client/OTAClient.cs b/MasstransferExporter/OTA/Client/OTAClient.cs similarity index 84% rename from MasstransferInfrastructure/OTA/Client/OTAClient.cs rename to MasstransferExporter/OTA/Client/OTAClient.cs index 707840f..58a0eca 100644 --- a/MasstransferInfrastructure/OTA/Client/OTAClient.cs +++ b/MasstransferExporter/OTA/Client/OTAClient.cs @@ -1,31 +1,45 @@ using System.IO.Compression; +using MasstransferCommon.Model.Constant; +using MasstransferCommunicate.Mqtt; using MasstransferCommon.Utils; -using MasstransferInfrastructure.OTA.Model; +using MasstransferCommunicate.Mqtt.Client; +using MasstransferExporter.OTA.Model; -namespace MasstransferInfrastructure.OTA.Client; +namespace MasstransferExporter.OTA.Client; public class OTAClient { /// - /// 检查更新 + /// 订阅OTA更新 /// - /// - /// - public async Task CheckForUpdate(string updateUrl) + public static async Task ListenOTAUpdateEvent() { - return await ApiClient.GetAsync(updateUrl); + await MessageQueueHelper.Subscribe(Topics.IssuedOTAPackage, HandleUpdateOTAEvent); } /// - /// 下载更新 + /// 查询OTA更新 /// - /// - /// - public async Task DownloadUpdateAsync(string downloadUrl, string filePath) + /// + public static async Task QueryOTAUpdate(string result) { - await ApiClient.DownloadFileAsync(downloadUrl, filePath); + await MessageQueueHelper.Publish(Topics.QueryOTA, result); } + /// + /// OTA更新反馈 + /// + /// + public static async Task OTALicenseUpdateEventFeedback(string resutl) + { + await MessageQueueHelper.Publish(Topics.OTAUpgradeFeedback, resutl); + } + + private static async Task HandleUpdateOTAEvent(string topic, string license) + { + + } + /// /// 备份保存重要文件 /// diff --git a/MasstransferInfrastructure/OTA/Model/UpdateInfo.cs b/MasstransferExporter/OTA/Model/UpdateInfo.cs similarity index 75% rename from MasstransferInfrastructure/OTA/Model/UpdateInfo.cs rename to MasstransferExporter/OTA/Model/UpdateInfo.cs index c1d5bad..856af8c 100644 --- a/MasstransferInfrastructure/OTA/Model/UpdateInfo.cs +++ b/MasstransferExporter/OTA/Model/UpdateInfo.cs @@ -1,4 +1,4 @@ -namespace MasstransferInfrastructure.OTA.Model; +namespace MasstransferExporter.OTA.Model; public class UpdateInfo { diff --git a/MasstransferExporter/OTA/Service/OTAService.cs b/MasstransferExporter/OTA/Service/OTAService.cs new file mode 100644 index 0000000..c35c01c --- /dev/null +++ b/MasstransferExporter/OTA/Service/OTAService.cs @@ -0,0 +1,126 @@ +using MasstransferExporter.OTA.Client; + +namespace MasstransferExporter.OTA.Service; + +public class OTAService +{ + private readonly OTAClient _otaClient; + + private readonly string _appDir; + private readonly string _criticalBackupDir; + private readonly string _criticalSourceLogPath; + private readonly string[] _criticalFileExtension; + private readonly string _previousBackupPath; + private readonly string _updatePackagePath; + + + public OTAService(string appDir, string criticalBackupDir, string criticalSourceLogPath, string[] criticalFileExtension, string previousBackupPath, string updatePackagePath) + { + _otaClient = new OTAClient(); + _appDir = appDir; + _criticalBackupDir = criticalBackupDir; + _criticalSourceLogPath = criticalSourceLogPath; + _criticalFileExtension = criticalFileExtension; + _previousBackupPath = previousBackupPath; + _updatePackagePath = updatePackagePath; + } + + + /// + /// 更新压缩包 + /// + public void Update() + { + try + { + //初始化 + initDir(); + + //备份重要文件 + _otaClient.BackupEssentialFiles(_appDir, _criticalBackupDir, _criticalFileExtension, _criticalSourceLogPath); + + //备份旧版本文件 + _otaClient.CompressDirectory(_appDir, _previousBackupPath); + + try + { + //删除旧版本原文件 + _otaClient.DeleteDirectory(_appDir); + + //解压更新包 + _otaClient.ExtractDirectory(_updatePackagePath, _appDir); + + //恢复重要文件 + _otaClient.RecoverCriticalFiles(_criticalSourceLogPath); + + //删除旧版本备份文件 + _otaClient.DeleteFile(_previousBackupPath); + + //删除更新包 + _otaClient.DeleteFile(_updatePackagePath); + + } + catch (Exception ex) + { + RollBack(); + Console.WriteLine($"更新异常,已回滚: {ex.Message}"); + } + } + catch (Exception ex) + { + Console.WriteLine($"更新异常e: {ex.Message}"); + + //如果重要文件备份已经产生,则删除 + if(Directory.Exists(_criticalBackupDir)) + { + _otaClient.DeleteDirectory(_criticalBackupDir); + } + } + } + + /// + /// 初始化重要文件备份目录 + /// + private void initDir() + { + if (Directory.Exists(_criticalBackupDir)) + { + Directory.Delete(_criticalBackupDir, true); + } + Directory.CreateDirectory(_criticalBackupDir); + + } + + /// + /// 回滚 + /// + private void RollBack() + { + //删除安装过程中创建的文件、目录 + var directoryList = new string[] { _appDir, _criticalBackupDir}; + var filePath = new String[] { _updatePackagePath }; + + foreach (var directory in directoryList) + { + if (Directory.Exists(directory)) + { + _otaClient.DeleteDirectory(directory); + } + } + + foreach (var file in filePath) + { + if (File.Exists(file)) + { + _otaClient.DeleteFile(file); + } + } + + //恢复旧版本文件 + _otaClient.ExtractDirectory(_previousBackupPath, _appDir); + + //删除旧版本备份 + _otaClient.DeleteFile(_previousBackupPath); + + } +} \ No newline at end of file diff --git a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs index 783f7fa..25f5d7e 100644 --- a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs +++ b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("MasstransferExporter")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c140544af7e52a0669ceafcb39aa5c4e97c5ccae")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a303714a635d3146132582a2408fc8cf76a69947")] [assembly: System.Reflection.AssemblyProductAttribute("MasstransferExporter")] [assembly: System.Reflection.AssemblyTitleAttribute("MasstransferExporter")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache index fd9ad27..0990bae 100644 --- a/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache +++ b/MasstransferExporter/obj/Debug/net7.0/MasstransferExporter.AssemblyInfoInputs.cache @@ -1 +1 @@ -b22264d67cf0b32e10f0e75ab1606fde9dde71a2b835269fbcfcdbfc81d14377 +78895e0730c7e01dfba29760f86535377f37711dd2d831a492fe0a2d3f652707 diff --git a/MasstransferExporter/obj/rider.project.model.nuget.info b/MasstransferExporter/obj/rider.project.model.nuget.info index d8f4e67..315e907 100644 --- a/MasstransferExporter/obj/rider.project.model.nuget.info +++ b/MasstransferExporter/obj/rider.project.model.nuget.info @@ -1 +1 @@ -17234348283873748 \ No newline at end of file +17234348310820990 \ No newline at end of file diff --git a/MasstransferInfrastructure/Http/ApiClient.cs b/MasstransferInfrastructure/Http/ApiClient.cs index 4a8e2c2..fe4e2fc 100644 --- a/MasstransferInfrastructure/Http/ApiClient.cs +++ b/MasstransferInfrastructure/Http/ApiClient.cs @@ -68,20 +68,6 @@ public class ApiClient : IDisposable return await response.Content.ReadFromJsonAsync(); } - /// - /// 异步下载文件 - /// - /// - /// - public static async Task DownloadFileAsync(string url, string filePath) - { - using var response = await Client.GetAsync(url); - response.EnsureSuccessStatusCode(); - - using var fs = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None); - await response.Content.CopyToAsync(fs); - } - public void Dispose() { Client.Dispose(); diff --git a/MasstransferInfrastructure/OTA/Service/OTAService.cs b/MasstransferInfrastructure/OTA/Service/OTAService.cs deleted file mode 100644 index c34ea89..0000000 --- a/MasstransferInfrastructure/OTA/Service/OTAService.cs +++ /dev/null @@ -1,126 +0,0 @@ -using MasstransferInfrastructure.OTA.Client; -using MasstransferInfrastructure.OTA.Model; - -namespace MasstransferInfrastructure.OTA.Service; - -public class OTAService -{ - private readonly OTAClient _otaClient; - - private readonly string appDir; - private readonly string criticalBackupDir; - private readonly string criticalSourceLogPath; - private readonly string[] criticalFileExtension; - private readonly string previousBackupPath; - private readonly string updatePackagePath; - - - public OTAService(string AppDir, string CriticalBackupDir, string CriticalSourceLogPath, string[] CriticalFileExtension, string PreviousBackupPath, string UpdatePackagePath) - { - _otaClient = new OTAClient(); - appDir = AppDir; - criticalBackupDir = CriticalBackupDir; - criticalSourceLogPath = CriticalSourceLogPath; - criticalFileExtension = CriticalFileExtension; - previousBackupPath = PreviousBackupPath; - updatePackagePath = UpdatePackagePath; - } - - /// - /// 更新压缩包 - /// - public void Update() - { - try - { - //初始化 - initDir(); - - //备份重要文件 - _otaClient.BackupEssentialFiles(appDir, criticalBackupDir, criticalFileExtension, criticalSourceLogPath); - - //备份旧版本文件 - _otaClient.CompressDirectory(appDir, previousBackupPath); - - try - { - //删除旧版本原文件 - _otaClient.DeleteDirectory(appDir); - - //解压更新包 - _otaClient.ExtractDirectory(updatePackagePath, appDir); - - //恢复重要文件 - _otaClient.RecoverCriticalFiles(criticalSourceLogPath); - - //删除旧版本备份文件 - _otaClient.DeleteFile(previousBackupPath); - - //删除更新包 - _otaClient.DeleteFile(updatePackagePath); - - } - catch (Exception ex) - { - RollBack(); - Console.WriteLine($"更新异常,已回滚: {ex.Message}"); - } - } - catch (Exception ex) - { - Console.WriteLine($"更新异常e: {ex.Message}"); - - //如果重要文件备份已经产生,则删除 - if(Directory.Exists(criticalBackupDir)) - { - _otaClient.DeleteDirectory(criticalBackupDir); - } - } - } - - /// - /// 初始化重要文件备份目录 - /// - private void initDir() - { - if (Directory.Exists(criticalBackupDir)) - { - Directory.Delete(criticalBackupDir, true); - } - Directory.CreateDirectory(criticalBackupDir); - - } - - /// - /// 回滚 - /// - private void RollBack() - { - //删除安装过程中创建的文件、目录 - var directoryList = new string[] { appDir, criticalBackupDir}; - var filePath = new String[] { updatePackagePath }; - - foreach (var directory in directoryList) - { - if (Directory.Exists(directory)) - { - _otaClient.DeleteDirectory(directory); - } - } - - foreach (var file in filePath) - { - if (File.Exists(file)) - { - _otaClient.DeleteFile(file); - } - } - - //恢复旧版本文件 - _otaClient.ExtractDirectory(previousBackupPath, appDir); - - //删除旧版本备份 - _otaClient.DeleteFile(previousBackupPath); - - } -} \ No newline at end of file diff --git a/UnitTest/OTATest.cs b/UnitTest/OTATest.cs deleted file mode 100644 index 465e678..0000000 --- a/UnitTest/OTATest.cs +++ /dev/null @@ -1,31 +0,0 @@ -using MasstransferInfrastructure.OTA.Service; -namespace UnitTest; - -[TestFixture] -public class OTATest -{ - private string appDir = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\Old"; - private string criticalBackupDir = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\CriticalBackup"; - private string criticalSourceLogPath = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\CriticalBackup\log.txt"; - private string[] criticalFileExtension = new string[] { ".db", ".reg" }; - - private string previousBackupPath = - @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\previousBackup.zip"; - - private string UpdatePackagePath = @"C:\Users\wangkaiyi\Desktop\DVT\OTA-TEST\New.zip"; - - [SetUp] - public void Setup() - { - - } - - [Test] - public void Test1() - { - OTAService _otaService = new OTAService(appDir, criticalBackupDir, criticalSourceLogPath, criticalFileExtension, - previousBackupPath, UpdatePackagePath); - - _otaService.Update(); - } -} \ No newline at end of file diff --git a/UnitTest/UnitTest.csproj b/UnitTest/UnitTest.csproj deleted file mode 100644 index 4bfa2ab..0000000 --- a/UnitTest/UnitTest.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - net8.0 - enable - enable - - false - true - - - - - - - - - - - - - - - - - - -