Compare commits

..
380 Commits
Author SHA1 Message Date
Aigio Liu 686171f73c android fast login ui 2021-06-12 17:20:34 +08:00
mossimo d597f992e4 Merge branch 'develop' of https://github.com/SteamTools-Team/SteamTools into develop 2021-06-12 05:04:00 +08:00
mossimo 174ec43551 fix macos install cer 2021-06-12 05:03:34 +08:00
Aigio Liu 90f1aae4bd Android Native UI 2021-06-11 22:30:29 +08:00
Aigio Liu 99270e730e fix 2021-06-11 16:07:25 +08:00
Aigio Liu 080ed55860 fix 2021-06-11 16:07:24 +08:00
Aigio Liu ea0cd59763 AttachDevTools2 2021-06-11 15:40:17 +08:00
Aigio Liu a8780568d6 AttachDevTools2 2021-06-11 15:40:13 +08:00
rmbgame 9b9de32f3c 调整深色和浅色模式的视觉效果
添加asf功能 50%
2021-06-11 05:20:24 +08:00
rmbgame 288f947730 重写webview3 2021-06-10 21:01:39 +08:00
rmbgame 3c65d716b1 save 2021-06-10 21:01:39 +08:00
Aigio Liu ebef7ede81 fix 2021-06-10 18:48:43 +08:00
mossimo be5bb78773 Merge branch 'develop' of https://github.com/SteamTools-Team/SteamTools into develop 2021-06-10 18:34:52 +08:00
Aigio Liu db636e894f fix 2021-06-10 18:33:32 +08:00
mossimo 808f0c1b9d host edit 2021-06-10 18:09:04 +08:00
Aigio Liu 20af863f4e macOS AppLogo 2021-06-10 00:58:49 +08:00
Aigio Liu 15ddeddf0d fix 2021-06-10 00:46:30 +08:00
Aigio Liu 3eff9a45c6 IHttpService.GetImageAsync use Polly & AppLogo Update SVG & Mobile UI MyPage 2021-06-10 00:42:53 +08:00
Aigio Liu c3fbeb3c4a fix 2021-06-08 17:08:41 +08:00
Mossimo efc3cf6797 NoSandBox fix macos 2021-06-08 17:02:39 +08:00
Aigio Liu b78ac16667 增量更新 v2 2021-06-08 14:10:31 +08:00
mossimo a492968401 1 2021-06-06 18:16:50 +08:00
mossimo b4f220e683 NoSteamRunTips 2021-06-06 18:16:06 +08:00
Aigio Liu b356d80c3e fix 2021-06-06 12:11:12 +08:00
Aigio Liu 049072ea5d v2.4.1 2021-06-06 10:33:05 +08:00
rmbgame 9c13426781 fix more screen 2021-06-06 01:48:44 +08:00
rmbgame 67ec02af0c fix taskbar high dpi error 2021-06-06 01:42:11 +08:00
Aigio Liu b01683e62c v2.4 2021-06-06 00:38:09 +08:00
rmbgame 77f662f67b jumplist fix 2021-06-06 00:38:23 +08:00
Aigio Liu 4b3467477a fix 2021-06-06 00:25:50 +08:00
rmbgame c765c95b1b hosts fix 2021-06-05 23:33:31 +08:00
rmbgame 667378d6d0 hosts 2021-06-05 23:25:00 +08:00
rmbgame 3d93932868 game load 2021-06-05 22:56:42 +08:00
rmbgame edf485275a ViewModel WhenActivated 2021-06-05 22:56:42 +08:00
Mossimo c4a0097550 fix error 2021-06-05 21:48:49 +08:00
Aigio Liu ab07483e5e WebView 兼容增强 2021-06-05 21:46:55 +08:00
rmbgame 62eb1c67f9 fix 2021-06-05 21:00:27 +08:00
Aigio Liu aad083f7de fix null ex 2021-06-05 20:59:47 +08:00
rmbgame bdfc7e86ac window style 2021-06-05 20:37:04 +08:00
rmbgame c5899cb7ee window style 2021-06-05 20:25:20 +08:00
rmbgame a694e7f3e9 mac style 2021-06-05 20:14:37 +08:00
rmbgame ae80bfc24b tab style 2021-06-05 20:01:20 +08:00
rmbgame 2b4713491e mac style 2021-06-05 19:52:40 +08:00
rmbgame 8d97cd63ca jump list fix 2021-06-05 19:47:51 +08:00
Aigio Liu 428c650d4a add log 2021-06-05 19:39:10 +08:00
rmbgame 76a5f080ff mac style 2021-06-05 19:28:04 +08:00
Aigio Liu 8b9dcbbeb5 BaseDir fix 2021-06-05 19:12:29 +08:00
rmbgame a98f2e5761 mac proxy 2021-06-05 19:10:47 +08:00
rmbgame ffe1205cc9 jumplist 2021-06-05 18:23:22 +08:00
Aigio Liu 8d917f73dd Renderer
v2.4.0
2021-06-05 17:19:03 +08:00
Mossimo ddd7ce95ad fix macOS cefNetpath fix macos jumpListempt func 2021-06-05 15:02:05 +08:00
rmbgame aec733af2a 修复托盘弹出窗口时置没有正常恢复的bug 2021-06-05 03:25:47 +08:00
rmbgame 159c7bdf05 弹窗窗口样式修复 2021-06-05 02:53:23 +08:00
rmbgame d16592d90e update package 2021-06-05 02:27:13 +08:00
Aigio Liu 6e040ef472 fix 2021-06-04 21:28:30 +08:00
Aigio Liu af446b3f23 fix LoadOrSaveLocalAccelerate 2021-06-04 21:20:56 +08:00
rmbgame 31500ba552 fix 2021-06-04 21:14:36 +08:00
Aigio Liu 3ef016e9a8 CardButtonRenderer for iOS 2021-06-04 21:00:06 +08:00
rmbgame 17c36b4861 default gameimage size 2021-06-04 20:00:07 +08:00
rmbgame e4a64f36f7 缓存成功时的加速项目列表在失败时请求 2021-06-04 20:00:07 +08:00
Aigio Liu 7a4bfb4697 fix UI 2021-06-03 23:33:26 +08:00
Aigio Liu ac78e2cfcb Mobile UI MyPage 2021-06-03 22:12:43 +08:00
rmbgame fece6a1394 style 2021-06-03 20:17:51 +08:00
Aigio Liu 3f826a8851 Mobile Icon 2021-06-03 16:34:08 +08:00
rmbgame e31f6b50ff 尝试支持 linux mac dll加载 2021-06-03 14:21:50 +08:00
Aigio Liu 22d51fa178 Mobile MASL 2021-06-02 23:05:17 +08:00
Aigio Liu 3c3d6da5e1 MobilePlatformServiceImpl 2021-06-02 22:49:50 +08:00
rmbgame 360b2b3fe6 尝试修复
https://appcenter.ms/orgs/BeyondDimension/apps/Steam/crashes/errors/4159743380u/overview
https://appcenter.ms/orgs/BeyondDimension/apps/Steam/crashes/errors/54875828u/overview
https://appcenter.ms/orgs/BeyondDimension/apps/Steam/crashes/errors/1168361231u/overview
https://appcenter.ms/orgs/BeyondDimension/apps/Steam/crashes/errors/3350267961u/overview
2021-06-01 19:37:49 +08:00
Aigio Liu 8216738fce FixFluentWindowStyleOnWin7 2021-06-01 13:55:29 +08:00
rmbgame 4a0d1177e9 text fix 2021-05-31 23:15:28 +08:00
rmbgame e2144e374b jumplist菜单支持切换账号 2021-05-31 23:08:51 +08:00
rmbgame eb4b230693 隐藏游戏列表与挂机游戏列表实时刷新 2021-05-31 23:08:51 +08:00
rmbgame 191a4c0487 taskbar menu style 2021-05-31 23:08:51 +08:00
Aigio Liu 8607f52d87 add TencentOpenApiSDK.Android 2021-05-31 19:50:53 +08:00
Aigio Liu bdbf493123 update screenshot macOS 2021-05-31 09:21:39 +08:00
rmbgame a9b19a0c10 fix 2021-05-30 23:49:07 +08:00
rmbgame abbbbd7e5b taskbar style 2021-05-30 23:40:18 +08:00
rmbgame d6f8214fb2 fix 2021-05-30 23:30:13 +08:00
rmbgame dc193fef86 全新的托盘菜单 2021-05-30 23:08:28 +08:00
rmbgame 75788873ca save 2021-05-30 23:08:28 +08:00
Aigio Liu 46050414c3 improve #265 #259 2021-05-30 21:16:09 +08:00
Aigio Liu 4f70014a08 fonts lazy 2021-05-30 19:18:38 +08:00
Mossimo c7d40a6331 Merge branch 'develop' of https://github.com/SteamTools-Team/SteamTools into develop 2021-05-30 04:15:18 -07:00
Aigio Liu 51a9370324 Mobile ILocalDataProtectionProvider Impl + Fonts Fix 2021-05-30 19:03:34 +08:00
Mossimo 7907fd3a79 Merge branch 'develop' of https://github.com/SteamTools-Team/SteamTools into develop 2021-05-30 00:49:31 -07:00
Aigio Liu bd3bfa5448 Mobile UI LoginOrRegisterPage 90% 2021-05-29 23:35:29 +08:00
Aigio Liu 37fc76000c fix 2021-05-29 21:16:44 +08:00
Mossimo 2a89dfa40f Update global.json 2021-05-29 06:10:00 -07:00
Aigio Liu a60a3e440b fix GetFonts 2021-05-29 21:04:16 +08:00
Aigio Liu 3910d72fc5 fix 2021-05-29 16:20:35 +08:00
Aigio Liu 975aa628b2 add new Icon 2021-05-29 16:10:49 +08:00
Aigio Liu d12f9465ed fix macOS CEF Path 2021-05-29 15:29:14 +08:00
Aigio Liu 052bd13dfd fix 2021-05-29 14:06:56 +08:00
Aigio Liu 9ff7448ec7 CardButton 2021-05-29 12:55:09 +08:00
Aigio Liu c01da5bb1f mobile UI 2021-05-29 02:11:28 +08:00
Aigio Liu 39de79f904 Fix 2021-05-28 12:31:38 +08:00
Aigio Liu 5e613eced0 update md 2021-05-28 07:54:18 +08:00
Aigio Liu f60f1cb2c7 Upgrade to CEF 90.6.3 2021-05-28 07:37:10 +08:00
Aigio Liu 0b05b51ef9 add CommandEx 2021-05-27 23:22:36 +08:00
Aigio Liu caff2a1a8d fix 2021-05-27 23:17:05 +08:00
Aigio Liu 40d21982e8 MOBILE LoginOrRegister VM 2021-05-27 23:07:21 +08:00
Aigio Liu 98ac642a4c wapproj Link 2021-05-27 19:29:09 +08:00
Aigio Liu 1eebb948fa pubxml 2021-05-27 17:50:48 +08:00
Aigio Liu aa22ef5805 fix 2021-05-27 17:41:03 +08:00
Aigio Liu e40a6bac6a x64 2021-05-27 17:37:13 +08:00
Aigio Liu b0fadc0378 Launcher 2021-05-27 17:37:12 +08:00
rmbgame f420414494 64位程序支持 2021-05-27 08:55:43 +08:00
rmbgame 80fb6fcccd save 2021-05-27 06:52:49 +08:00
Aigio Liu 64346f47ad DesktopBridge 2021-05-26 20:39:26 +08:00
Aigio Liu ddb7f1abc6 fix 2021-05-26 16:55:24 +08:00
Aigio Liu ad8e0e2589 pub 2021-05-26 16:55:23 +08:00
Aigio Liu 795687a424 fix 2021-05-26 16:40:44 +08:00
Aigio Liu def1848eff fix https://appcenter.ms/orgs/BeyondDimension/apps/Steam/crashes/errors/1651502540u/overview 2021-05-26 16:15:10 +08:00
Aigio Liu 13e5f94f70 .NET 6 Preview 4 2021-05-26 15:44:23 +08:00
Mossimo 6cfd47cb17 show no tips 2021-05-26 02:31:19 +08:00
Aigio Liu 26d7690092 v2.3.0 2021-05-26 02:09:37 +08:00
Aigio Liu c2134298b5 fix 2021-05-26 01:52:46 +08:00
rmbgame 746fed8cdb save 2021-05-26 01:18:55 +08:00
Mossimo 31eae8b056 fix 2021-05-26 00:24:30 +08:00
Mossimo ae867373dd 1 2021-05-26 00:21:02 +08:00
Mossimo e6fac670f7 fix 2021-05-26 00:12:19 +08:00
Mossimo cc82301e92 tips 2021-05-26 00:03:09 +08:00
rmbgame 545610d927 fix 2021-05-26 00:02:02 +08:00
rmbgame db4ea77939 fix 2021-05-25 23:42:55 +08:00
Aigio Liu 1c413817fa fix MoveOrderByIndexAsync 2021-05-25 23:41:55 +08:00
Mossimo ca94efb132 fix tips 2021-05-25 23:38:41 +08:00
Mossimo 5809dc7d59 fix 2021-05-25 23:36:51 +08:00
rmbgame c9af4408e0 add 2021-05-25 22:43:52 +08:00
Mossimo 66af5379cb add btn 2021-05-25 22:38:43 +08:00
Mossimo 97394b81e9 save 2021-05-25 22:36:47 +08:00
rmbgame 225dd3d748 add new icon 2021-05-25 22:21:52 +08:00
Aigio Liu be313984c7 修复 UI 通知 2021-05-25 22:16:52 +08:00
rmbgame bbe7bf2c22 fix export password error 2021-05-25 19:35:48 +08:00
rmbgame 840711740e fix 2021-05-25 18:34:10 +08:00
Aigio Liu f792622653 fix CloseWindow Fail 2021-05-25 18:13:20 +08:00
rmbgame f8a5938375 fix 2021-05-25 15:59:37 +08:00
Aigio Liu 5b8a84b4e1 fix BindFastLogin 2021-05-25 13:06:42 +08:00
Aigio Liu f2a2650523 v2.3 2021-05-24 21:48:54 +08:00
rmbgame 43a3f3c0dc 新增
hCaptcha验证码
EPIC验证码
artstation
v2ex
反代支持
修复discord更新下载代理失败
2021-05-24 18:11:59 +08:00
rmbgame 68c7b324af fix display bug 2021-05-24 18:11:59 +08:00
Aigio Liu 251ab23db8 fix 2021-05-24 17:05:31 +08:00
Aigio Liu 7121e416fc Desktop Bridge 2021-05-24 10:58:27 +08:00
Aigio Liu 4fd0dbf784 Desktop Bridge 2021-05-24 10:58:26 +08:00
Aigio Liu 107623b26a WINDOWS_DESKTOP_BRIDGE 2021-05-23 23:08:49 +08:00
Aigio Liu 35af87946d fix 2021-05-23 19:35:01 +08:00
rmbgame 083b214b97 fix 2021-05-23 18:22:38 +08:00
rmbgame 9ac178d375 fix 2021-05-23 18:21:11 +08:00
Aigio Liu 3d76038301 FastLoginChannels 2021-05-23 18:08:16 +08:00
rmbgame 704cd5116c ui 2021-05-23 17:06:14 +08:00
rmbgame b46cb4e10e save 2021-05-23 17:02:02 +08:00
Aigio Liu f680738f12 rename ms to xbox 2021-05-23 17:00:19 +08:00
Aigio Liu faaaeb592d Add Xbox Icon 2021-05-23 16:54:29 +08:00
rmbgame 259fe3e592 fix text error 2021-05-23 16:54:22 +08:00
Mossimo e50945332f Fix Error 2021-05-23 16:52:53 +08:00
rmbgame 17a9ec53cc add new icon 2021-05-23 16:50:10 +08:00
rmbgame a043373430 fix error 2021-05-23 16:35:53 +08:00
Aigio Liu 5f5607b6c2 fix 2021-05-23 16:31:33 +08:00
Aigio Liu 9198b18e4f fix 2021-05-23 16:31:31 +08:00
Aigio Liu a0c5117f5e fix 2021-05-23 14:57:22 +08:00
Aigio Liu 628a845fa6 fix 2021-05-23 14:52:02 +08:00
rmbgame 082b5b72b1 fix 2021-05-23 14:35:51 +08:00
rmbgame f25a4f49a8 令牌加密解密 导入导出功能完成 2021-05-23 14:35:51 +08:00
rmbgame 47c06f2b9a save 2021-05-23 14:35:51 +08:00
Aigio Liu 2a450c237d fix 2021-05-23 14:33:52 +08:00
Aigio Liu 21bd1d2b32 fix 2021-05-23 12:16:15 +08:00
Aigio Liu 092c59b5b2 令牌仓储层添加新方法 2021-05-23 12:11:39 +08:00
Aigio Liu 25a99127f5 fix 2021-05-23 11:59:05 +08:00
Aigio Liu 216869ab56 令牌导入更改 2021-05-23 11:54:35 +08:00
Aigio Liu b5c3842ea7 账号绑定 2021-05-22 23:42:56 +08:00
rmbgame 20ea077f4c text error 2021-05-22 01:19:22 +08:00
Aigio Liu 41ea7f6e58 绑定账号 2021-05-22 00:17:19 +08:00
rmbgame 0f9235e1f0 令牌导出导入 80% 2021-05-21 07:22:47 +08:00
rmbgame 7adadfb6e8 save 2021-05-21 07:22:47 +08:00
Aigio Liu 69c7a3fcef 其他快速登录,改为动态绑定数组值 2021-05-21 00:38:10 +08:00
Aigio Liu ab4d12df52 Bind 2021-05-20 22:44:58 +08:00
rmbgame efb7578ff9 快速登录界面 2021-05-20 22:15:05 +08:00
rmbgame 5cf35a37ac save 2021-05-20 22:15:05 +08:00
Mossimo 8df7ab3b9c fixBug 2021-05-20 21:20:36 +08:00
Aigio Liu 643ff4a41d fix 2021-05-20 12:59:40 +08:00
Aigio Liu 11d20f36f3 Desktop Bridge 2021-05-20 07:04:46 +08:00
Aigio Liu 28f1198a9c 令牌仓储层 导入导出与上移下移 2021-05-19 15:44:12 +08:00
rmbgame 71e8777414 save 2021-05-19 14:18:58 +08:00
rmbgame c80f57153e save 2021-05-19 14:13:54 +08:00
rmbgame d30bcdb374 fix error 2021-05-19 14:11:55 +08:00
Mossimo 679e75ea54 fixerror 2021-05-19 14:02:20 +08:00
Mossimo f936401a2e 1 2021-05-19 13:48:43 +08:00
rmbgame 71d7ee8cff fix error 2021-05-19 13:27:37 +08:00
rmbgame 364a0f5c23 令牌加密功能 2021-05-19 13:05:15 +08:00
rmbgame 4a200f1ae4 令牌加密功能
文本框字体调整 #197
2021-05-19 09:05:44 +08:00
rmbgame d228201a4e 修复挂游戏时长功能问题 2021-05-19 02:53:01 +08:00
rmbgame 606e203df5 save 2021-05-19 02:23:26 +08:00
Aigio Liu c4e5c5e8a6 add lock 2021-05-18 21:32:56 +08:00
Aigio Liu b3a387f0a6 fix #243 2021-05-18 21:12:52 +08:00
Aigio Liu 2d56a44117 改进 残留进程时启动逻辑 2021-05-18 12:11:15 +08:00
Mossimo aa625e5f44 fix tips 2021-05-18 09:45:09 +08:00
Mossimo ea92cccf59 save 2021-05-18 09:24:54 +08:00
rmbgame 15ab81f6e4 修复winauth子模块问题 2021-05-17 23:49:00 +08:00
rmbgame 98ff99257b fix 2021-05-17 23:39:10 +08:00
Aigio Liu 2e647b49bf lazy http SteamService 2021-05-17 23:36:10 +08:00
Aigio Liu 5a1a04e988 fix 2021-05-17 23:27:53 +08:00
rmbgame 5ba959d69c fix 2021-05-17 22:41:00 +08:00
rmbgame fd7f8b3897 save 2021-05-17 22:31:58 +08:00
rmbgame 7444559b84 save 2021-05-17 22:31:58 +08:00
Aigio Liu a4c3317c10 fix null 2021-05-17 22:02:48 +08:00
Aigio Liu bb8a8cd498 fix 2021-05-17 21:46:46 +08:00
Mossimo a498bb69f5 fix cmd 2021-05-17 20:47:34 +08:00
Mossimo 735ed43fa2 Add Auto Setting 2021-05-17 20:47:34 +08:00
Aigio Liu ab44d9028f fix 2021-05-17 20:39:24 +08:00
Mossimo bf940b46f3 完善挂时常 2021-05-17 20:22:49 +08:00
Mossimo a6e5911b32 save 2021-05-17 20:22:49 +08:00
Mossimo 5e5c08d507 save 2021-05-17 20:22:49 +08:00
rmbgame 058091e904 update all nuget package 2021-05-16 23:23:03 +08:00
rmbgame 6e23a4bf07 update nuget 2021-05-16 22:55:41 +08:00
Aigio Liu 084f1b3765 令牌仓储改进 2021-05-16 22:52:10 +08:00
Mossimo 6e87610611 save 2021-05-16 00:32:16 +08:00
Mossimo f74fe9abea save 2021-05-15 23:41:24 +08:00
rmbgame 41ad3c1831 优化挂时长功能内存占用 2021-05-15 22:19:53 +08:00
rmbgame c80806d5cb save 2021-05-15 02:57:17 +08:00
Mossimo ce357c39f7 fixerror 2021-05-15 02:49:26 +08:00
Mossimo c50ffab7ed auto run AFKApps 2021-05-15 02:31:53 +08:00
Mossimo f6afb0bbb3 UIsave 2021-05-15 00:34:56 +08:00
Mossimo f1d62b958c changeView 2021-05-15 00:34:56 +08:00
Mossimo 1b1bc81f91 save 2021-05-15 00:34:56 +08:00
rmbgame 436df007a9 修改插入令牌默认不启用本机加密,
新增令牌加密设置
2021-05-15 00:30:38 +08:00
rmbgame c67b84ea7a save 2021-05-14 01:05:47 +08:00
Aigio Liu ef2cc93f57 绑定手机 UI & Add SVG 2021-05-13 23:26:16 +08:00
rmbgame 0fa8efbfff 更新日志 2021-05-13 03:21:00 +08:00
rmbgame 45c0987a72 新增无边框窗口化功能 2021-05-13 02:34:03 +08:00
rmbgame 0dd9184b24 无边框窗口化功能 80% 2021-05-13 01:29:11 +08:00
rmbgame 1cd6540e2d 添加隐藏游戏功能 2021-05-12 21:53:45 +08:00
rmbgame 2dfd72b34b update nuget 2021-05-12 21:53:45 +08:00
Aigio Liu d391e3b266 fix 2021-05-12 20:19:41 +08:00
Aigio Liu 316d514b9b 绑定手机 & 解绑快速登录 2021-05-12 20:16:16 +08:00
Mossimo 0923e5ad3e 1 2021-05-12 19:26:50 +08:00
rmbgame 4a49340f7a ex 2021-05-12 19:20:49 +08:00
rmbgame 190e87bee0 fix #231 2021-05-12 18:42:52 +08:00
rmbgame 5214aafc34 fix 2021-05-12 00:37:23 +08:00
rmbgame 2998125b70 fix 2021-05-12 00:37:23 +08:00
rmbgame 2f58d8cdd2 fix 2021-05-12 00:37:23 +08:00
rmbgame 7d9a8535e0 save 2021-05-12 00:37:23 +08:00
Mossimo 8301ec7fdb hideList 2021-05-12 00:27:52 +08:00
Aigio Liu c6831c764b 改进 hosts 文件写入 无权限操作时错误文本 2021-05-11 23:26:37 +08:00
Aigio Liu c2d6b384ee 新功能 账号注销 2021-05-11 21:17:05 +08:00
Mossimo 946e12e15a fix error 2021-05-11 21:02:22 +08:00
Mossimo 14ddd2cd6e save 2021-05-11 19:18:08 +08:00
Mossimo 90a13306b9 hideappwindow 2021-05-11 19:16:06 +08:00
Aigio Liu bd9632f4f6 修复 部分 toast 没有正确显示 2021-05-11 15:04:48 +08:00
Aigio Liu 565185378f 改进 获取占用端口进程检测 2021-05-11 11:58:27 +08:00
Aigio Liu 328bb390d7 release v2.2.0 2021-05-10 19:04:56 +08:00
Aigio Liu caf724b823 v2.2.0 2021-05-10 19:02:44 +08:00
Mossimo b14a98446c AddList 2021-05-10 09:24:35 +08:00
rmbgame cba194a185 忽略列表优化 2021-05-10 01:02:19 +08:00
rmbgame f5b2b67f0d 修复未启动steam状态加载游戏bug 2021-05-10 00:47:22 +08:00
rmbgame d2f1219847 toast只在当前激活窗口弹出 2021-05-10 00:43:53 +08:00
Aigio Liu 9de4e476d2 Add 7z, Fix Tool Projects 2021-05-09 23:55:37 +08:00
Aigio Liu 287652c461 VisualElementsManifest 2021-05-09 22:54:33 +08:00
Aigio Liu 63f605ca11 Fix CircleImageStream 2021-05-09 22:50:56 +08:00
rmbgame fea1fe66ae fix 2021-05-09 22:49:07 +08:00
rmbgame 4d5fcd42a9 fix 2021-05-09 22:49:07 +08:00
Aigio Liu 0be5854ffe v2.2.0 2021-05-09 22:12:05 +08:00
Aigio Liu 989952d12a Try Fix
System.ObjectDisposedException: ObjectDisposed_Generic
ObjectDisposed_ObjectName_Name, SslStream
   at System.Net.Security.SslStream.<ThrowIfExceptional>g__ThrowExceptional|137_0(ExceptionDispatchInfo e)
   at System.Net.Security.SslStream.get_SslProtocol()
   at System.Net.Http.HttpConnectionPool.GetHttp2ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
2021-05-09 22:06:51 +08:00
Aigio Liu 2dfe428397 Fix 2021-05-09 21:44:56 +08:00
rmbgame ee872d3b98 update Avalonia nuget 2021-05-09 21:15:55 +08:00
rmbgame 3279633692 log 2021-05-09 20:52:31 +08:00
Aigio Liu 796cef01ff LoginUsingSteamClient 2021-05-09 19:49:33 +08:00
Aigio Liu 03c83f04a6 FastLoginOrRegister 2021-05-09 19:49:32 +08:00
rmbgame 048f8fdd65 fix 2021-05-09 02:29:20 +08:00
rmbgame a1dd6f04d7 快速登录新UI 2021-05-09 02:28:48 +08:00
rmbgame 99ea333e92 优化 SteamConnectService 初始化 2021-05-09 00:25:07 +08:00
Aigio Liu 7b7bda86ec TryFix WebView3 2021-05-09 00:21:17 +08:00
rmbgame 5d05765b52 fix local error 2021-05-08 23:09:06 +08:00
Aigio Liu 0a08621c22 Fix 2021-05-08 21:53:03 +08:00
Aigio Liu 69b3149b71 Fix 2021-05-08 21:38:18 +08:00
rmbgame da413be342 修复头像退出刷新问题
端口占用提示占用的进程
升级nuget包
2021-05-08 21:28:36 +08:00
Aigio Liu 4f6fb0ebc6 release v2.2.0 2021-05-08 20:39:50 +08:00
rmbgame d6051f1c4f read 2.20 2021-05-08 20:36:37 +08:00
Aigio Liu adbac2663b release v2.2 2021-05-08 20:24:20 +08:00
rmbgame 460775b7ee 修复steam登录账号头像显示问题 2021-05-08 20:09:48 +08:00
Aigio Liu a35e551fe9 fix #224 2021-05-08 19:50:01 +08:00
Aigio Liu ea237b84e1 fix #220 2021-05-08 10:36:49 +08:00
rmbgame 68340154f0 在删除时新增一个是否删除用户数据的提示 #165 2021-05-08 06:48:23 +08:00
rmbgame 6891fd4c0d commit test 2021-05-08 06:16:46 +08:00
rmbgame bf21f85bb0 优化代理速度
修复一些代理过程中产生的错误
2021-05-08 05:31:20 +08:00
rmbgame e513261507 更新库存游戏列表加载方式
修复潜在的闪退问题
2021-05-08 01:52:52 +08:00
Aigio Liu 43b6ad6544 UI Fix 2021-05-08 00:05:55 +08:00
Aigio Liu 93c8ebdbf4 update submodule 2021-05-07 23:46:36 +08:00
Aigio Liu 535e824032 改进 日志文件大小与数量 + UnifiedVersion 2021-05-07 23:36:29 +08:00
rmbgame 7f0361ae7d submodule 2021-05-07 23:07:47 +08:00
rmbgame 6a07bb4fd9 大量的窗口新增
进程操作修改
子模块更新
2021-05-07 23:07:47 +08:00
rmbgame 9faa8a8738 save 2021-05-07 23:07:47 +08:00
rmbgame 63ac0695bb update game laod action 2021-05-07 23:07:47 +08:00
Aigio Liu f1fd1cd42c 完成 Steam 一键快速登录 2021-05-07 18:00:05 +08:00
Aigio Liu 019b8e907f 改进 Hosts 操作提示文本
优化 代理服务中的潜在的空指针异常
2021-05-07 15:47:53 +08:00
Aigio Liu 0004c39f05 使用 IO.Pipes 代替 Runtime.Remoting 实现 IPC
实现 V1.X 中多开时显示第一个进程的主窗口
2021-05-07 14:59:50 +08:00
Aigio Liu c01031927e 改进 Steam 快速一键登录 70% 2021-05-07 00:11:03 +08:00
Aigio Liu 837b522170 修复 Steam 快速登录时候无法查看本地令牌 2021-05-07 00:11:02 +08:00
rmbgame 9921909559 修改账号切换ui错位问题
修改账号切换操作交互
添加关于内手动更新检测
修改更新弹窗为不绑定父窗口弹窗
2021-05-06 15:24:19 +08:00
rmbgame 2fdd78ce25 fix ui error 2021-05-06 15:24:08 +08:00
Mossimo 24faae27d6 fix bug 2021-05-06 00:25:42 +08:00
Mossimo 9306564fcf rm InitializeScriptList 2021-05-05 23:16:48 +08:00
Aigio Liu 152c60a9c3 fix ci 2021-05-05 21:53:33 +08:00
rmbgame 6581d67f14 update 2021-05-05 21:52:33 +08:00
Aigio Liu cc5b161d92 v2.1.0 2021-05-05 21:45:07 +08:00
Aigio Liu c1f9d31e6d update cmd 2021-05-05 21:34:03 +08:00
rmbgame 1d09ec05ec update ui 2021-05-05 21:07:38 +08:00
rmbgame 4ced8453cf update Avalonia package 2021-05-05 20:22:46 +08:00
rmbgame a9b6774210 用户steam头像 2021-05-05 19:33:44 +08:00
Aigio Liu cad359bd91 无手机号时隐藏换绑手机 2021-05-05 19:06:30 +08:00
Aigio Liu d2918a9221 Steam 快速登录 2021-05-05 18:35:23 +08:00
rmbgame 276aa4fe15 steam login ui 2021-05-05 18:29:09 +08:00
rmbgame 24e98078ef fix file error 2021-05-05 18:29:09 +08:00
rmbgame d75420f255 修复了多个导致闪退的错误 2021-05-05 15:38:03 +08:00
rmbgame 236ed0a5f8 fix proxy crash error 2021-05-05 15:38:03 +08:00
rmbgame f3033498fb merger 2021-05-05 04:02:02 +08:00
rmbgame f739a5f387 调整脚本列表UI 2021-05-05 03:59:25 +08:00
rmbgame 0f0f50dcd5 close #179 2021-05-05 03:59:25 +08:00
rmbgame 8f6d4378fa 新增背景透明度UI设置 2021-05-05 03:59:25 +08:00
rmbgame da7d5ec814 修复成就解锁窗口不显示的问题 2021-05-05 03:57:33 +08:00
Aigio Liu 171705992b fix macos ci 2021-05-05 02:05:31 +08:00
Aigio Liu 398282f656 Steam 登录状态 Cookie + WebView3 2021-05-05 01:56:31 +08:00
Mossimo 17261c7706 fix tipsmsg 2021-05-04 23:40:52 +08:00
Aigio Liu 2e99ac9899 改进 手机号码号段
改进 UA
2021-05-04 21:18:55 +08:00
Aigio Liu 51dd188141 Steam 快速登录 for WebView3 100% 2021-05-04 18:58:16 +08:00
Aigio Liu 49e5e56fb1 Update ScreenShorts 2021-05-04 12:19:49 +08:00
rmbgame dcea1c6fbc fix other Platform 2021-05-04 06:29:46 +08:00
Mossimo fd3a5129ca fix Gmjs repeat only one remove other 2021-05-04 06:23:26 +08:00
rmbgame a811e5e43a 修复系统关机时应正确关闭掉启用的windows代理 2021-05-04 06:22:38 +08:00
rmbgame 44c3c27315 Absolute path 2021-05-04 06:22:38 +08:00
Aigio Liu 7642eea09d 更正资源文本 2021-05-04 02:40:05 +08:00
Aigio Liu 997f9f9282 Steam 快速登录 95% 2021-05-04 02:30:05 +08:00
Aigio Liu 55067a198a 改进 自动更新 2021-05-04 00:27:29 +08:00
Mossimo 6fd5338f4c fix script Build 2021-05-03 23:48:09 +08:00
Mossimo ea277b218b sfix RefreshScriptItemButton 2021-05-03 23:01:04 +08:00
rmbgame 0f730aac10 没有启用加速也可开启加速单独启用脚本 2021-05-03 21:47:42 +08:00
Mossimo c51e85f52b fix post 2021-05-03 21:35:37 +08:00
Aigio Liu a5e6411afe 改进 当 hosts 文件不存在时自动创建空文件 2021-05-03 20:20:31 +08:00
rmbgame 94b602be26 修复脚本启用状态保存问题 2021-05-03 20:05:57 +08:00
Aigio Liu 572bca08fd Steam 快速登录 80%
即将发布 2.0.0.8
2021-05-03 19:50:09 +08:00
rmbgame 64531c40a1 ui 2021-05-03 16:18:16 +08:00
rmbgame f4c06016c9 ui 2021-05-03 15:57:26 +08:00
rmbgame 19073d111a ready 2021-05-03 15:57:26 +08:00
rmbgame 4a5cacb654 update window 2021-05-03 15:57:26 +08:00
rmbgame 9221e8d0b8 window Size and Position save 2021-05-03 03:27:15 +08:00
Aigio Liu c191ba851f fix warn 2021-05-03 00:56:54 +08:00
Aigio Liu ebc38453e4 DelAcc 2021-05-03 00:56:53 +08:00
Aigio Liu cd3783b864 进行中:Steam 快速登录 2 2021-05-02 23:13:35 +08:00
Mossimo 74fdd9f016 fix js build 2021-05-02 23:04:35 +08:00
Mossimo 731449a46e save 2021-05-02 21:00:10 +08:00
Mossimo 52485b5054 fix jsquery 2021-05-02 21:00:10 +08:00
rmbgame 9fd359c2cf fix 195 2021-05-02 20:33:33 +08:00
rmbgame 8fb9b12f3d fix account offine bug 2021-05-02 20:33:33 +08:00
Aigio Liu fb5aa30287 优化 WebView3 Loading 2021-05-02 19:04:43 +08:00
rmbgame ba1886758b fix proxy bug 2021-05-02 17:31:47 +08:00
rmbgame 5a9e264dda update image2 2021-05-02 17:10:30 +08:00
Aigio Liu dcc8fc04b2 进行中:Steam 快速登录 2021-05-02 14:51:50 +08:00
Aigio Liu 25aa1951e3 新增 WebView3 拦截 Rsp
修复 更新进度条值不正确
版本更变 2.0.0.8
2021-05-02 11:50:16 +08:00
rmbgame 84490ef9b6 fix windows proxy port check 2021-05-02 09:03:25 +08:00
rmbgame 92c358d81b 更改文件夹结构 2021-05-02 08:27:41 +08:00
Aigio Liu 42ae1038f1 fix droid test 2021-05-02 08:11:51 +08:00
Aigio Liu 37918501ab fix CI Build by Linux 2021-05-02 07:12:42 +08:00
Aigio L 0688e7d9a1 Update dotnet.yml 2021-05-02 07:03:56 +08:00
Aigio Liu efcc843557 fix Res by macOS 2021-05-02 06:58:35 +08:00
Aigio Liu 4a41ed7b9c res restore 2021-05-02 06:53:07 +08:00
Aigio Liu 2e7172e1c0 fix Res 2021-05-02 06:43:16 +08:00
Aigio L 7fa92ef55d Update dotnet.yml 2021-05-02 06:39:30 +08:00
Aigio Liu 6555d23e78 fix res 2021-05-02 06:33:54 +08:00
Aigio L a95403c958 Update dotnet.yml 2021-05-02 06:22:11 +08:00
Aigio Liu 8a60b0f91d add Linux.sln 2021-05-02 06:20:05 +08:00
Aigio L 70d33296ca Update dotnet.yml 2021-05-02 06:14:26 +08:00
Aigio L 73f80b6f0f Update dotnet.yml 2021-05-02 06:01:02 +08:00
Aigio L b1169a149e Update dotnet.yml 2021-05-02 05:53:42 +08:00
Aigio L 790dd18bb8 Update dotnet.yml 2021-05-02 05:48:37 +08:00
Aigio L 86ac7ad386 Update dotnet.yml 2021-05-02 05:44:07 +08:00
Aigio L 5310b5e1a5 Update dotnet.yml 2021-05-02 05:35:39 +08:00
Aigio L 6a4af4ab73 Update dotnet.yml 2021-05-02 05:32:17 +08:00
Aigio Liu 1846854759 2.0.0.7-beta
修复 主题跟随系统内嵌网页主题不正确
目标框架TFM 升级至 6.0 解决 Win7 上存在的一些兼容性问题
2021-05-01 19:47:02 +08:00
Aigio Liu b4158be5e8 修复 Hosts 文件操作 2021-05-01 16:22:39 +08:00
Aigio Liu 9a6e5bb323 add note 2021-05-01 15:27:37 +08:00
Aigio Liu 363fc9a440 修复 Hosts 文件服务
添加 打开桌面图标设置
2021-05-01 15:27:36 +08:00
Aigio Liu b19b5cf88f 改进 Hosts 操作重复项忽略
修复 Hosts 操作错误时不提示
改进 ServerApi 添加 Polly
改进 获取加速项目Api 使用 Polly
2021-05-01 14:05:32 +08:00
753 changed files with 30823 additions and 7508 deletions
+17 -2
View File
@@ -59,7 +59,7 @@ dotnet_style_parentheses_in_other_operators = never_if_unnecessary
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
# 修饰符首选项
dotnet_style_require_accessibility_modifiers = for_non_interface_members
dotnet_style_require_accessibility_modifiers = never
# 表达式级首选项
dotnet_style_coalesce_expression = true
@@ -119,7 +119,7 @@ csharp_prefer_static_local_function = true
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
# 代码块首选项
csharp_prefer_braces = true
csharp_prefer_braces = false
csharp_prefer_simple_using_statement = true
# 表达式级首选项
@@ -225,3 +225,18 @@ dotnet_naming_style.以_i_开始.required_prefix = I
dotnet_naming_style.以_i_开始.required_suffix =
dotnet_naming_style.以_i_开始.word_separator =
dotnet_naming_style.以_i_开始.capitalization = pascal_case
# IDE0010: 添加缺失的事例
dotnet_diagnostic.IDE0010.severity = none
# IDE0011: 添加大括号
dotnet_diagnostic.IDE0011.severity = none
# IDE0040: 添加可访问性修饰符
dotnet_diagnostic.IDE0040.severity = none
# IDE0130: 命名空间与文件夹结构不匹配
dotnet_style_namespace_match_folder = false
# IDE0130: 命名空间与文件夹结构不匹配
dotnet_diagnostic.IDE0130.severity = none
+32 -10
View File
@@ -2,22 +2,27 @@ name: .NET
on:
push:
branches: [ master,develop ]
branches: [ master, develop ]
pull_request:
branches: [ master,develop ]
branches: [ master, develop ]
jobs:
build:
runs-on: windows-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ windows-latest, macOS-latest, ubuntu-latest ]
steps:
- uses: actions/checkout@v2
- name: Setup .NET
- name: Setup .NET 5
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.x
- name: Setup .NET 6
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100-preview.4.21255.9
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout submodules
@@ -25,15 +30,32 @@ jobs:
- name: dotnet info
run: dotnet --info
- name: dotnet restore
- name: dotnet restore SteamToolsV2+.sln
if: matrix.os == 'windows-latest'
run: dotnet restore ./SteamToolsV2+.sln
- name: dotnet restore SteamToolsV2+.Linux.sln
if: matrix.os == 'ubuntu-latest'
run: dotnet restore ./SteamToolsV2+.Linux.sln
- name: dotnet restore SteamToolsV2+.Mac.sln
if: matrix.os == 'macOS-latest'
run: dotnet restore ./SteamToolsV2+.Mac.sln
- name: dotnet AvaloniaApp build
run: dotnet build ./src/ST.Client.Desktop.Avalonia.App/ST.Client.Desktop.Avalonia.App.csproj
- name: dotnet CommonUnit build
run: dotnet build ./tests/Common.UnitTest/Common.UnitTest.csproj
- name: dotnet CommonUnit test
run: dotnet test ./tests/Common.UnitTest/Common.UnitTest.csproj
- name: dotnet ST.Client.UnitTest build
run: dotnet build ./tests/ST.Client.UnitTest/ST.Client.UnitTest.csproj
- name: dotnet ST.Client.Desktop.UnitTest build
run: dotnet build ./tests/ST.Client.Desktop.UnitTest/ST.Client.Desktop.UnitTest.csproj
- name: dotnet CommonUnit test
run: dotnet test ./tests/Common.UnitTest/Common.UnitTest.csproj
- name: dotnet ST.Client.UnitTest test
run: dotnet test ./tests/ST.Client.UnitTest/ST.Client.UnitTest.csproj
- name: dotnet ST.Client.Desktop.UnitTest test
if: matrix.os != 'windows-latest'
run: dotnet test ./tests/ST.Client.Desktop.UnitTest/ST.Client.Desktop.UnitTest.csproj
+10
View File
@@ -340,6 +340,12 @@ ASALocalRun/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# macOS
.DS_Store
@@ -351,3 +357,7 @@ Resource.designer.cs
# csproject launchSettings
launchSettings.json
# Android KeyStore
*.jks
/Xamarin.Android.KeyStore.props
+3 -3
View File
@@ -10,12 +10,12 @@
[submodule "references/Steam4NET"]
path = references/Steam4NET
url = https://github.com/SteamTools-Team/Steam4NET.git
[submodule "references/WinAuth"]
path = references/WinAuth
url = https://github.com/SteamTools-Team/WinAuth.git
[submodule "references/Depressurizer"]
path = references/Depressurizer
url = https://github.com/SteamTools-Team/Depressurizer.git
[submodule "references/AvaloniaGif"]
path = references/AvaloniaGif
url = https://github.com/SteamTools-Team/AvaloniaGif
[submodule "references/WinAuth"]
path = references/WinAuth
url = https://github.com/SteamTools-Team/WinAuth
+15 -5
View File
@@ -4,14 +4,14 @@
「Steam++」is a toolkit that contains a variety of Steam tools, most of which require you to download and install Steam in order to use them.
![Release Download](https://img.shields.io/github/downloads/rmbadmin/SteamTools/latest/total?style=flat-square)
![Release Download](https://img.shields.io/github/downloads/rmbadmin/SteamTools/total?style=flat-square)
[![Release Version](https://img.shields.io/github/v/release/rmbadmin/SteamTools?style=flat-square)](https://github.com/rmbadmin/SteamTools/releases/latest)
[![GitHub license](https://img.shields.io/github/license/rmbadmin/SteamTools?style=flat-square)](LICENSE)
[![GitHub Star](https://img.shields.io/github/stars/rmbadmin/SteamTools?style=flat-square)](https://github.com/rmbadmin/SteamTools/stargazers)
[![GitHub Fork](https://img.shields.io/github/forks/rmbadmin/SteamTools?style=flat-square)](https://github.com/rmbadmin/SteamTools/network/members)
![GitHub Repo size](https://img.shields.io/github/repo-size/rmbadmin/SteamTools?style=flat-square&color=3cb371)
[![GitHub Repo Languages](https://img.shields.io/github/languages/top/SteamTools-Team/SteamTools?style=flat-square)](https://github.com/SteamTools-Team/SteamTools/search?l=c%23)
[![NET 5.0](https://img.shields.io/badge/dotnet-5.0-purple.svg?style=flat-square&color=512bd4)](https://docs.microsoft.com/en-us/dotnet/core/dotnet-five)
[![NET 6.0](https://img.shields.io/badge/dotnet-6.0-purple.svg?style=flat-square&color=512bd4)](https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-4)
[![C# 9.0](https://img.shields.io/badge/c%23-9.0-green.svg?style=flat-square&color=6da86a)](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9)
[![Desktop GUI](https://img.shields.io/badge/gui@desktop-AvaloniaUI-purple.svg?style=flat-square&color=8c45ab)](https://github.com/AvaloniaUI/Avalonia)
@@ -19,10 +19,13 @@
[![Official WebSite](https://img.shields.io/badge/website@official-Ant%20Design%20of%20React-blue.svg?style=flat-square&color=61dafb)](https://github.com/ant-design/ant-design)
[![BackManage WebSite](https://img.shields.io/badge/website@back_manage-Ant%20Design%20of%20Blazor-purple.svg?style=flat-square&color=512bd4)](https://github.com/ant-design-blazor/ant-design-blazor)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FSteamTools-Team%2FSteamTools%2Fbadge%3Fref%3Ddevelop&style=flat-square)](https://actions-badge.atrox.dev/SteamTools-Team/SteamTools/goto?ref=develop)
[![GitHub Star](https://img.shields.io/github/stars/rmbadmin/SteamTools.svg?style=social)](https://github.com/SteamTools-Team/SteamTools)
[![Gitee Star](https://gitee.com/rmbgame/SteamTools/badge/star.svg)](https://gitee.com/rmbgame/SteamTools)
</div>
<div align="center"><img src="./resources/screenshots.en.jpg" /></div>
English | [简体中文](./README.md)
## ✨ Functions
@@ -38,7 +41,7 @@ English | [简体中文](./README.md)
<!--Prerequisites Microsoft Visual C++ 2015-2019 Redistributable [64 bit](https://aka.ms/vs/16/release/vc_redist.x64.exe) / [32 bit](https://aka.ms/vs/16/release/vc_redist.x86.exe)-->
## 🖥 Supported Operating Systems
- Desktop
- Desktop(Only 64 bit is supported)
- Windows 10 1607+ / Windows Server, version 1909+ / Windows Server 2019 / Windows Server 2016
- Windows 8.1 / Windows Server 2012 R2
- Windows 7 SP1 [ESU](https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq)
@@ -57,7 +60,7 @@ English | [简体中文](./README.md)
- Red Hat Enterprise Linux 7+
- SUSE Enterprise Linux (SLES) 12 SP2+
- Ubuntu 20.10, 20.04, 18.04, 16.04
- Mobile
- Mobile(Only ARM64 or ARM32 are supported)
- Android 5.0+
- iOS 10.0+
@@ -72,7 +75,7 @@ English | [简体中文](./README.md)
Read what we [milestones](https://github.com/SteamTools-Team/SteamTools/milestones), and feel free to ask questions.
## ⌨️ Development Environment
[Visual Studio 2019 Version 16.9 Or Higher](https://visualstudio.microsoft.com/vs/) Or [Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/) Or [JetBrains Rider](https://www.jetbrains.com/rider/) Or ~~[Visual Studio Code](https://code.visualstudio.com/)~~
[Visual Studio 2019 Version 16.10 Or Higher](https://visualstudio.microsoft.com/vs/) Or [JetBrains Rider](https://www.jetbrains.com/rider/) Or ~~[Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/)~~ Or ~~[Visual Studio Code](https://code.visualstudio.com/)~~
- Supported Operating Systems
- [Windows 10 version 2004 or higher: Home, Professional, Education, and Enterprise (LTSC and S are not supported)](https://docs.microsoft.com/en-us/visualstudio/releases/2019/system-requirements)
- [macOS 10.13 High Sierra Or Higher](https://docs.microsoft.com/en-us/visualstudio/productinfo/vs2019-system-requirements-mac)
@@ -137,16 +140,22 @@ Read what we [milestones](https://github.com/SteamTools-Team/SteamTools/mileston
* [NPOI](https://github.com/nissl-lab/npoi)
* [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
* [AspNet.Security.OpenId.Providers](https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers)
* [AspNet.Security.OAuth.Providers](https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers)
* [CefNet](https://github.com/CefNet/CefNet)
* [CefSharp](https://github.com/cefsharp/CefSharp)
* [React](https://github.com/facebook/react)
* [Ant Design](https://github.com/ant-design/ant-design)
* [Ant Design Blazor](https://github.com/ant-design-blazor/ant-design-blazor)
* [Toast messages for Xamarin.iOS](https://github.com/andrius-k/Toast)
* [XF.Material Library](https://github.com/Baseflow/XF-Material-Library)
* [Visual Studio App Center SDK for .NET](https://github.com/microsoft/appcenter-sdk-dotnet)
* [AppCenter-XMac](https://github.com/nor0x/AppCenter-XMac)
* [MSBuild.Sdk.Extras](https://github.com/novotnyllc/MSBuildSdkExtras)
* [Xamarin.Essentials](https://github.com/xamarin/essentials)
* [Xamarin.Forms](https://github.com/xamarin/Xamarin.Forms)
* [Open Source Components for Xamarin](https://github.com/xamarin/XamarinComponents)
* [AndroidX for Xamarin.Android](https://github.com/xamarin/AndroidX)
* [MSAL.NET](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet)
* [Entity Framework Core](https://github.com/dotnet/efcore)
* [ASP.NET Core](https://github.com/dotnet/aspnetcore)
* [Windows Forms](https://github.com/dotnet/winforms)
@@ -155,3 +164,4 @@ Read what we [milestones](https://github.com/SteamTools-Team/SteamTools/mileston
* [command-line-api](https://github.com/dotnet/command-line-api)
* [.NET Runtime](https://github.com/dotnet/runtime)
* [Fluent UI System Icons](https://github.com/microsoft/fluentui-system-icons)
* [Material design icons](https://github.com/google/material-design-icons)
+14 -6
View File
@@ -4,14 +4,14 @@
「Steam++」是一个包含多种Steam工具功能的工具箱,此工具的大部分功能都是需要您下载安装Steam才能使用。
![Release Download](https://img.shields.io/github/downloads/rmbadmin/SteamTools/latest/total?style=flat-square)
![Release Download](https://img.shields.io/github/downloads/rmbadmin/SteamTools/total?style=flat-square)
[![Release Version](https://img.shields.io/github/v/release/rmbadmin/SteamTools?style=flat-square)](https://github.com/rmbadmin/SteamTools/releases/latest)
[![GitHub license](https://img.shields.io/github/license/rmbadmin/SteamTools?style=flat-square)](LICENSE)
[![GitHub Star](https://img.shields.io/github/stars/rmbadmin/SteamTools?style=flat-square)](https://github.com/rmbadmin/SteamTools/stargazers)
[![GitHub Fork](https://img.shields.io/github/forks/rmbadmin/SteamTools?style=flat-square)](https://github.com/rmbadmin/SteamTools/network/members)
![GitHub Repo size](https://img.shields.io/github/repo-size/rmbadmin/SteamTools?style=flat-square&color=3cb371)
[![GitHub Repo Languages](https://img.shields.io/github/languages/top/SteamTools-Team/SteamTools?style=flat-square)](https://github.com/SteamTools-Team/SteamTools/search?l=c%23)
[![NET 5.0](https://img.shields.io/badge/dotnet-5.0-purple.svg?style=flat-square&color=512bd4)](https://docs.microsoft.com/zh-cn/dotnet/core/dotnet-five)
[![NET 6.0](https://img.shields.io/badge/dotnet-6.0-purple.svg?style=flat-square&color=512bd4)](https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-4)
[![C# 9.0](https://img.shields.io/badge/c%23-9.0-brightgreen.svg?style=flat-square&color=6da86a)](https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-9)
[![Desktop GUI](https://img.shields.io/badge/gui@desktop-AvaloniaUI-purple.svg?style=flat-square&color=8c45ab)](https://github.com/AvaloniaUI/Avalonia)
@@ -19,9 +19,10 @@
[![Official WebSite](https://img.shields.io/badge/website@official-Ant%20Design%20of%20React-blue.svg?style=flat-square&color=61dafb)](https://github.com/ant-design/ant-design)
[![BackManage WebSite](https://img.shields.io/badge/website@back_manage-Ant%20Design%20of%20Blazor-purple.svg?style=flat-square&color=512bd4)](https://github.com/ant-design-blazor/ant-design-blazor)
[![](https://img.shields.io/badge/QQ群-479036439-blue.svg?style=flat-square&color=12b7f5)](https://jq.qq.com/?_wv=1027&k=MWH729dD)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FSteamTools-Team%2FSteamTools%2Fbadge%3Fref%3Ddevelop&style=flat-square)](https://actions-badge.atrox.dev/SteamTools-Team/SteamTools/goto?ref=develop)
[![GitHub Star](https://img.shields.io/github/stars/rmbadmin/SteamTools.svg?style=social)](https://github.com/SteamTools-Team/SteamTools)
[![Gitee Star](https://gitee.com/rmbgame/SteamTools/badge/star.svg)](https://gitee.com/rmbgame/SteamTools)
[![QQ群](https://img.shields.io/badge/QQ群-101075312-blue.svg?style=flat-square&color=12b7f5)](https://qm.qq.com/cgi-bin/qm/qr?k=JVlZF31RKSDqcsxfEaw6AQE75P2NF18F&jump_from=webapi)
</div>
<div align="center"><img src="./resources/screenshots.jpg" /></div>
@@ -49,7 +50,7 @@
<!--发布配置SelfContained=true时会自动打包VC++相关程序集-->
<!--先决条件 Microsoft Visual C++ 2015-2019 Redistributable [64 位](https://aka.ms/vs/16/release/vc_redist.x64.exe) / [32 位](https://aka.ms/vs/16/release/vc_redist.x86.exe)-->
## 🖥 系统要求
- 桌面端
- 桌面端(仅支持 64 位)
- Windows 10 1607+ / Windows Server 版本 1903+ / Windows Server 2019 / Windows Server 2016
- Windows 8.1 / Windows Server 2012 R2
- Windows 7 SP1 [ESU](https://docs.microsoft.com/zh-cn/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq)
@@ -68,7 +69,7 @@
- Red Hat Enterprise Linux 7+
- SUSE Enterprise Linux (SLES) 12 SP2+
- Ubuntu 20.10, 20.04, 18.04, 16.04
- 移动端
- 移动端(仅支持 ARM64 或 ARM32)
- Android 5.0+
- iOS 10.0+
@@ -83,7 +84,7 @@
查看这个 [milestones](https://github.com/SteamTools-Team/SteamTools/milestones) 来了解我们下一步的开发计划,并随时提出问题。
## ⌨️ 开发环境
[Visual Studio 2019 版本 16.9 或更高版本](https://visualstudio.microsoft.com/zh-hans/vs/) 或 [Visual Studio for Mac](https://visualstudio.microsoft.com/zh-hans/vs/mac/) 或 [JetBrains Rider](https://www.jetbrains.com/rider/) 或 ~~[Visual Studio Code](https://code.visualstudio.com/)~~
[Visual Studio 2019 版本 16.10 或更高版本](https://visualstudio.microsoft.com/zh-hans/vs/) 或 [JetBrains Rider](https://www.jetbrains.com/rider/) 或 ~~[Visual Studio for Mac](https://visualstudio.microsoft.com/zh-hans/vs/mac/)~~ 或 ~~[Visual Studio Code](https://code.visualstudio.com/)~~
- 系统要求
- [Windows 10 版本 2004 或更高版本:家庭版、专业版、教育版和企业版(不支持 LTSC 和 Windows 10 S,在较早的操作系统上可能不受支持)](https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements)
- [macOS 10.13 High Sierra 或更高版本](https://docs.microsoft.com/zh-cn/visualstudio/productinfo/vs2019-system-requirements-mac)
@@ -151,16 +152,22 @@
* [NPOI](https://github.com/nissl-lab/npoi)
* [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
* [AspNet.Security.OpenId.Providers](https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers)
* [AspNet.Security.OAuth.Providers](https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers)
* [CefNet](https://github.com/CefNet/CefNet)
* [CefSharp](https://github.com/cefsharp/CefSharp)
* [React](https://github.com/facebook/react)
* [Ant Design](https://github.com/ant-design/ant-design)
* [Ant Design Blazor](https://github.com/ant-design-blazor/ant-design-blazor)
* [Toast messages for Xamarin.iOS](https://github.com/andrius-k/Toast)
* [XF.Material Library](https://github.com/Baseflow/XF-Material-Library)
* [Visual Studio App Center SDK for .NET](https://github.com/microsoft/appcenter-sdk-dotnet)
* [AppCenter-XMac](https://github.com/nor0x/AppCenter-XMac)
* [MSBuild.Sdk.Extras](https://github.com/novotnyllc/MSBuildSdkExtras)
* [Xamarin.Essentials](https://github.com/xamarin/essentials)
* [Xamarin.Forms](https://github.com/xamarin/Xamarin.Forms)
* [Open Source Components for Xamarin](https://github.com/xamarin/XamarinComponents)
* [AndroidX for Xamarin.Android](https://github.com/xamarin/AndroidX)
* [MSAL.NET](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet)
* [Entity Framework Core](https://github.com/dotnet/efcore)
* [ASP.NET Core](https://github.com/dotnet/aspnetcore)
* [Windows Forms](https://github.com/dotnet/winforms)
@@ -169,3 +176,4 @@
* [command-line-api](https://github.com/dotnet/command-line-api)
* [.NET Runtime](https://github.com/dotnet/runtime)
* [Fluent UI System Icons](https://github.com/microsoft/fluentui-system-icons)
* [Material design icons](https://github.com/google/material-design-icons)
-125
View File
@@ -1,125 +0,0 @@
## 前言
### 发布至今
Steam++从去年年底12月18日发布了[第一个版本](https://keylol.com/t667906-1-1)至今,已经过去了3个多月。这段时间我肝代码肝的特别勤快,游戏也不咋玩了。在此是感谢keylol的各位老哥对我发布时的支持,发布后短短一天时间就加了1k多体力。以及坛子里各位老哥对我的捐助支持,都非常感谢!
这段时间也发生了许多事情,目前软件没有任何服务器,所以凭下载量判断可能有几万用户吧。还是有10个以内的人与我反馈被盗号了,再此只能表示开源软件想盗号那是真的难如登天了。
### 后续计划
在此为了对得起大家的鼓励和捐助的支持,所以决定并启用了Steam++v2.0版本的开发,短期计划为之前所描述的预计推出功能以及答应大家添加的所有功能,并且做到支持全平台Windows Mac Linux Android iOS版本支持。
### 现在状况
我拉了我几位朋友来一起开发,现在有3个人参与到此项目了,所以开发速度也不会太慢。
## 问卷调查
我们对于2.0的设计开发目前作了一些计划,但更希望能够听到用户朋友们的宝贵意见和建议。为此我们做了一份问卷调查,希望大家能够来填写。
问卷地址:[https://www.wjx.cn/vj/Y0zCByQ.aspx](https://keylol.com/t667906-1-1)
或者扫码 [attachimg]1320065[/attachimg]
## Steam++v2.0 前瞻
### 界面大改
第一个改动最明显的地方就是界面。原先的界面UI不是很美观,文字堆砌太过复杂,在2.0版本将这些文字都简略化,改用更合适的布局界面。
### 多平台
Steam++将会支持Linux、macOS,也会登录安卓平台、IOS平台,由于各个平台兼容性不同以及开发速度的不足,这些平台会删减部分Windows平台上拥有的功能,当然后续会不断增加功能进行完善。
[attachimg]1320063[/attachimg]
### Steam++账号
2.0版本中将开放Steam++账号注册,账号注册登录后将能使用新增的各种联网服务,例如云同步、云挂卡、交易市场等。也能将自己的配置设置同步到多平台。
### 令牌云同步
在新版本中,大家可以使用Steam++生成自己的Steam令牌,并且将自己保存在电脑上的本地令牌加密上传到云端。这样可以在我们的各个平台上看到自己的令牌,无需频繁的导入导出。
在手机App上,大家可以导入PC端生成的令牌,也可以通过云同步获取到自己的令牌,解决了很多用户手机、电脑、平板无法同时查看令牌的尴尬问题。
关于安全问题:令牌将采用加密算法,通过含有用户自己添加的密匙来进行加密,服务器中只会保留加密后的数据。如果没有用户的密匙,任何人(包括Steam++开发组)都无法解开加密,从而使令牌无法读取直接作废。
这个功能将在2.0版本上线,手机端可能会延后上线。
### 本地反代加速改动
在界面上进行了大改,将同类反代(如Steam社区、Steam商店)合并到了一个按钮中,可以一次性全部启动也可以在设置中单独启动某一项反代功能。并且也会推出服务器加速的模式,可供选择使用。
### 本地令牌改动
在界面上进行了调整,使其更加美观。
添加了令牌生成功能,可以直接在Steam++中生成Steam令牌,无需从其他地方生成后再导入。而且之后做了手机端,可以形成互补,大概目标是取代steam手机app,真的不好用。
[attachimg]1320062[/attachimg]
### 云挂卡服务
在2.0版本推出后不久,将会更新云挂卡功能。大家可以使用我们的服务器进行24小时不间断地挂卡挂时长,并且可以用电脑客户端或者手机App来管理云挂卡进度。
这个功能预计在2.1版本上线。
### 云存档服务
大家可以上传自己的游戏存档进行备份保存,也可以选择分享自己的存档给其他人,或者在我们的Steam++社区内浏览下载其他人分享的存档。
Steam++会自动导入存档到正确的位置,保证能够让游戏正常读取。
这个功能还没开始做,估计要等一段时间才能发布。
### 交易市场
可以在交易市场上购买、出售自己多余的CDKey、Steam余额。在Steam++交易市场上能找到由个人卖家挂售游戏和余额。买家可以直接私聊卖家进行砍价,也可以查看到卖家的rep值,也能在交易后给对方好评或者差评,这将直接影响到被评论方的rep值。
同时Steam++也会作为中间担保人,杜绝欺骗行为的发生。
### 其它
更多的小功能就不太值一提了,但是因为太多,短期也不一定搞得完,再此列个说明,Steam下载完成自动关机、Steam Edit编辑Steam游戏信息、自动白嫖epic、steam游戏,Steam封面管理等等等有更多未列出。以及当我们在Steam平台做的差不多的时候,就会更多的开始钻研做其它平台功能。
## 写在最后
再此我可以保证程序将永远良心收费,不流氓不捆绑,所有本地功能永久免费,只有需要成本的服务端功能才会进行收费。并且程序依然开源发布,不会闭源。
(本来以前一直是想做游戏,但是低成本确实太难做好了,一个人开发独立游戏再怎么努力,依然问题太多,并且我得美术是在是差的离谱,就算是像素画自己都没眼看,退而求其次,先尝试别的,如果真的能赚钱,那就再接着做单机游戏!梦想不能放弃)
官网:[http://www.steamtool.net](http://www.steamtool.net)
目前临时使用此域名,后续迁移到steampp.net
GitHub:[https://github.com/rmbadmin/SteamTools/releases](https://github.com/rmbadmin/SteamTools/releases)
官方QQ群:479036439(1群已经满员,新开了2群)
又不知不觉肝了一通宵代码,因为确实需要了解大家对于收费的态度问题,所以发个帖做个小调查,睡醒了才能回复。
实在不知道发在什么区,那就当水贴了。
睡了,大家晚安{:17_1052:} 。
-589
View File
@@ -1,589 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31005.135
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Repositories.sqlite-net-pcl", "src\Repositories.sqlite-net-pcl\Repositories.sqlite-net-pcl.csproj", "{512B0511-41AB-444D-BAD8-E19B7D3B52CB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.ClientLib", "src\Common.ClientLib\Common.ClientLib.csproj", "{8B9F2E93-B31B-4BA7-920D-732695A473E6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.CoreLib", "src\Common.CoreLib\Common.CoreLib.csproj", "{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0_Common", "0_Common", "{2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3_SteamTools_Libs", "3_SteamTools_Libs", "{B43459A1-709B-4623-9677-AAC2FEE4FBA3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Services.CloudService.Models", "src\ST.Services.CloudService.Models\ST.Services.CloudService.Models.csproj", "{6CD71E14-5036-4A16-8084-4AD108D34FF7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Services.CloudService", "src\ST.Services.CloudService\ST.Services.CloudService.csproj", "{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2_Test", "2_Test", "{EBC9DD0C-F7D0-4A00-B263-E69CF4E194F1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.UnitTest", "tests\Common.UnitTest\Common.UnitTest.csproj", "{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST", "src\ST\ST.csproj", "{66B7BFD6-6D4D-421B-BA5B-915348E53708}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client", "src\ST.Client\ST.Client.csproj", "{0A624994-B0A9-4F1F-B7D0-97FE2929936B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.Desktop", "src\ST.Client.Desktop\ST.Client.Desktop.csproj", "{D1F15D97-802E-4AA3-A4A5-B890ABE32897}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.Desktop.Avalonia.App", "src\ST.Client.Desktop.Avalonia.App\ST.Client.Desktop.Avalonia.App.csproj", "{2FFA5BCE-B3C3-46EA-8830-838C938BF814}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Root", "_Root", "{B4B548C1-9AFE-4EBB-96E4-990B57C0A953}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
Directory.Build.props = Directory.Build.props
global.json = global.json
nuget.config = nuget.config
README.en.md = README.en.md
README.md = README.md
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.Desktop.Avalonia", "src\ST.Client.Desktop.Avalonia\ST.Client.Desktop.Avalonia.csproj", "{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.Desktop.Mac", "src\ST.Client.Desktop.Mac\ST.Client.Desktop.Mac.csproj", "{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1_Reference", "1_Reference", "{8EB91F53-1062-4E9B-8E4A-096F35EA688D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Titanium.Web.Proxy", "references\Titanium-Web-Proxy\src\Titanium.Web.Proxy\Titanium.Web.Proxy.csproj", "{35D60129-6652-4B6E-A04A-9766C3CF1869}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.UnitTest", "tests\ST.Client.UnitTest\ST.Client.UnitTest.csproj", "{8EDF4429-251A-416D-BB68-93F227191BCF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Tools.Translate", "src\ST.Tools.Translate\ST.Tools.Translate.csproj", "{ABAF70E5-A582-4916-B217-6A660BB31D52}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "4_SteamTools_Tools", "4_SteamTools_Tools", "{5A7A506C-4DFF-4941-A9A6-B1182C7D5825}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.Desktop.Avalonia.Demo.App", "src\ST.Client.Desktop.Avalonia.Demo.App\ST.Client.Desktop.Avalonia.Demo.App.csproj", "{39C26BF0-E5FE-42B1-B011-B7300847DED6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Services.CloudService.ViewModels", "src\ST.Services.CloudService.ViewModels\ST.Services.CloudService.ViewModels.csproj", "{EB672075-1227-40B7-BCAC-F203688FABC0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.AreaLib", "src\Common.AreaLib\Common.AreaLib.csproj", "{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Tools.AreaImport", "src\ST.Tools.AreaImport\ST.Tools.AreaImport.csproj", "{536A0A61-97A8-44E9-8258-9D508D54B44B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CefNet.Avalonia", "references\CefNet\CefNet.Avalonia\CefNet.Avalonia.csproj", "{9A533027-82BD-40CB-BB32-77F75F6FDDC7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Debug|x86 = Debug|x86
Nuget_Release|Any CPU = Nuget_Release|Any CPU
Nuget_Release|iPhone = Nuget_Release|iPhone
Nuget_Release|iPhoneSimulator = Nuget_Release|iPhoneSimulator
Nuget_Release|x86 = Nuget_Release|x86
Release|Any CPU = Release|Any CPU
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhone.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|x86.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|x86.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Nuget_Release|x86.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|Any CPU.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhone.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhone.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|x86.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|x86.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhone.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|x86.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|x86.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Nuget_Release|x86.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|Any CPU.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhone.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhone.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|x86.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|x86.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhone.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|x86.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|x86.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Nuget_Release|x86.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|Any CPU.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhone.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhone.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|x86.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|x86.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhone.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|x86.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|x86.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Nuget_Release|x86.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|Any CPU.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhone.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhone.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|x86.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|x86.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhone.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|x86.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|x86.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Nuget_Release|x86.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|Any CPU.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhone.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhone.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|x86.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|x86.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhone.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|x86.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|x86.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Nuget_Release|x86.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|Any CPU.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhone.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhone.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|x86.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|x86.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|Any CPU.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhone.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|x86.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|x86.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Nuget_Release|x86.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|Any CPU.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|Any CPU.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhone.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhone.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|x86.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|x86.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhone.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|x86.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|x86.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Nuget_Release|x86.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|Any CPU.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhone.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhone.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|x86.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|x86.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|iPhone.Build.0 = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|x86.ActiveCfg = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Debug|x86.Build.0 = Debug|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Nuget_Release|x86.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|Any CPU.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|iPhone.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|iPhone.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|x86.ActiveCfg = Release|Any CPU
{D1F15D97-802E-4AA3-A4A5-B890ABE32897}.Release|x86.Build.0 = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|iPhone.Build.0 = Debug|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|x86.ActiveCfg = Debug|x86
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Debug|x86.Build.0 = Debug|x86
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|x86.ActiveCfg = Release|x86
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Nuget_Release|x86.Build.0 = Release|x86
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|Any CPU.Build.0 = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|iPhone.ActiveCfg = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|iPhone.Build.0 = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|x86.ActiveCfg = Release|x86
{2FFA5BCE-B3C3-46EA-8830-838C938BF814}.Release|x86.Build.0 = Release|x86
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|iPhone.Build.0 = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|x86.ActiveCfg = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Debug|x86.Build.0 = Debug|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Nuget_Release|x86.Build.0 = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|Any CPU.Build.0 = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|iPhone.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|iPhone.Build.0 = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|x86.ActiveCfg = Release|Any CPU
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263}.Release|x86.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|iPhone.Build.0 = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|x86.ActiveCfg = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Debug|x86.Build.0 = Debug|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Nuget_Release|x86.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|Any CPU.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|iPhone.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|iPhone.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|x86.ActiveCfg = Release|Any CPU
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4}.Release|x86.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|iPhone.Build.0 = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|x86.ActiveCfg = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Debug|x86.Build.0 = Debug|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Nuget_Release|x86.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|Any CPU.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|iPhone.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|iPhone.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|x86.ActiveCfg = Release|Any CPU
{35D60129-6652-4B6E-A04A-9766C3CF1869}.Release|x86.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhone.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|x86.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|x86.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Nuget_Release|x86.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhone.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhone.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|x86.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|x86.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhone.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|x86.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|x86.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Nuget_Release|x86.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|Any CPU.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhone.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhone.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|x86.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|x86.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|iPhone.Build.0 = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|x86.ActiveCfg = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Debug|x86.Build.0 = Debug|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Nuget_Release|x86.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|Any CPU.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|iPhone.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|iPhone.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|x86.ActiveCfg = Release|Any CPU
{39C26BF0-E5FE-42B1-B011-B7300847DED6}.Release|x86.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|iPhone.Build.0 = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|x86.ActiveCfg = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Debug|x86.Build.0 = Debug|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Nuget_Release|x86.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|Any CPU.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|iPhone.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|iPhone.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|x86.ActiveCfg = Release|Any CPU
{EB672075-1227-40B7-BCAC-F203688FABC0}.Release|x86.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|iPhone.Build.0 = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|x86.ActiveCfg = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Debug|x86.Build.0 = Debug|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Nuget_Release|x86.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|Any CPU.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|iPhone.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|iPhone.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|x86.ActiveCfg = Release|Any CPU
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24}.Release|x86.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|iPhone.Build.0 = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|x86.ActiveCfg = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Debug|x86.Build.0 = Debug|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|Any CPU.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|Any CPU.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|iPhone.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|iPhone.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|iPhoneSimulator.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|x86.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Nuget_Release|x86.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|Any CPU.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|iPhone.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|iPhone.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|x86.ActiveCfg = Release|Any CPU
{536A0A61-97A8-44E9-8258-9D508D54B44B}.Release|x86.Build.0 = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|iPhone.Build.0 = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|x86.ActiveCfg = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Debug|x86.Build.0 = Debug|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|Any CPU.ActiveCfg = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|Any CPU.Build.0 = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|iPhone.ActiveCfg = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|iPhone.Build.0 = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|iPhoneSimulator.ActiveCfg = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|iPhoneSimulator.Build.0 = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|x86.ActiveCfg = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Nuget_Release|x86.Build.0 = Nuget_Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|Any CPU.Build.0 = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|iPhone.ActiveCfg = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|iPhone.Build.0 = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|x86.ActiveCfg = Release|Any CPU
{9A533027-82BD-40CB-BB32-77F75F6FDDC7}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{512B0511-41AB-444D-BAD8-E19B7D3B52CB} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{8B9F2E93-B31B-4BA7-920D-732695A473E6} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{6CD71E14-5036-4A16-8084-4AD108D34FF7} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B} = {EBC9DD0C-F7D0-4A00-B263-E69CF4E194F1}
{66B7BFD6-6D4D-421B-BA5B-915348E53708} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{0A624994-B0A9-4F1F-B7D0-97FE2929936B} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{D1F15D97-802E-4AA3-A4A5-B890ABE32897} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{4F09B6D1-3F83-45A0-AEC8-0F243E7CD263} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{948C1EA8-12DB-4F8A-A190-8615DFBD9FE4} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{35D60129-6652-4B6E-A04A-9766C3CF1869} = {8EB91F53-1062-4E9B-8E4A-096F35EA688D}
{8EDF4429-251A-416D-BB68-93F227191BCF} = {EBC9DD0C-F7D0-4A00-B263-E69CF4E194F1}
{ABAF70E5-A582-4916-B217-6A660BB31D52} = {5A7A506C-4DFF-4941-A9A6-B1182C7D5825}
{EB672075-1227-40B7-BCAC-F203688FABC0} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{4190F5AE-FFF1-4CB5-A433-FF5403E2BE24} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{536A0A61-97A8-44E9-8258-9D508D54B44B} = {5A7A506C-4DFF-4941-A9A6-B1182C7D5825}
{9A533027-82BD-40CB-BB32-77F75F6FDDC7} = {8EB91F53-1062-4E9B-8E4A-096F35EA688D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3833E7C5-69BC-4CB3-92CE-A8854AA35D8A}
EndGlobalSection
EndGlobal
-384
View File
@@ -1,384 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31005.135
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Repositories.sqlite-net-pcl", "src\Repositories.sqlite-net-pcl\Repositories.sqlite-net-pcl.csproj", "{512B0511-41AB-444D-BAD8-E19B7D3B52CB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.ClientLib", "src\Common.ClientLib\Common.ClientLib.csproj", "{8B9F2E93-B31B-4BA7-920D-732695A473E6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.CoreLib", "src\Common.CoreLib\Common.CoreLib.csproj", "{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.ClientLib.iOS", "src\Common.ClientLib.iOS\Common.ClientLib.iOS.csproj", "{F8F6973C-5831-43D1-89C2-1AD543CE7408}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0_Common", "0_Common", "{2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3_SteamTools_Libs", "3_SteamTools_Libs", "{B43459A1-709B-4623-9677-AAC2FEE4FBA3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Services.CloudService.Models", "src\ST.Services.CloudService.Models\ST.Services.CloudService.Models.csproj", "{6CD71E14-5036-4A16-8084-4AD108D34FF7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Services.CloudService", "src\ST.Services.CloudService\ST.Services.CloudService.csproj", "{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2_Test", "2_Test", "{EBC9DD0C-F7D0-4A00-B263-E69CF4E194F1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.UnitTest", "tests\Common.UnitTest\Common.UnitTest.csproj", "{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST", "src\ST\ST.csproj", "{66B7BFD6-6D4D-421B-BA5B-915348E53708}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client", "src\ST.Client\ST.Client.csproj", "{0A624994-B0A9-4F1F-B7D0-97FE2929936B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Root", "_Root", "{B4B548C1-9AFE-4EBB-96E4-990B57C0A953}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
Directory.Build.props = Directory.Build.props
global.json = global.json
nuget.config = nuget.config
README.en.md = README.en.md
README.md = README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1_Reference", "1_Reference", "{8EB91F53-1062-4E9B-8E4A-096F35EA688D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Tools.OpenSourceLibraryList", "src\ST.Tools.OpenSourceLibraryList\ST.Tools.OpenSourceLibraryList.csproj", "{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.UnitTest", "tests\ST.Client.UnitTest\ST.Client.UnitTest.csproj", "{8EDF4429-251A-416D-BB68-93F227191BCF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Tools.Translate", "src\ST.Tools.Translate\ST.Tools.Translate.csproj", "{ABAF70E5-A582-4916-B217-6A660BB31D52}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "4_SteamTools_Tools", "4_SteamTools_Tools", "{5A7A506C-4DFF-4941-A9A6-B1182C7D5825}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.Mobile", "src\ST.Client.Mobile\ST.Client.Mobile.csproj", "{64F63608-1390-41D1-8568-F4E05AE35E75}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Client.Mobile.iOS", "src\ST.Client.Mobile.iOS\ST.Client.Mobile.iOS.csproj", "{A040865C-FA5F-486A-9CC9-96CF34859FBD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ST.Client.Mobile.iOS.App", "src\ST.Client.Mobile.iOS.App\ST.Client.Mobile.iOS.App.csproj", "{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Services.CloudService.ViewModels", "src\ST.Services.CloudService.ViewModels\ST.Services.CloudService.ViewModels.csproj", "{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.AreaLib", "src\Common.AreaLib\Common.AreaLib.csproj", "{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ST.Tools.AreaImport", "src\ST.Tools.AreaImport\ST.Tools.AreaImport.csproj", "{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhone.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|x86.ActiveCfg = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Debug|x86.Build.0 = Debug|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|Any CPU.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhone.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhone.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|x86.ActiveCfg = Release|Any CPU
{512B0511-41AB-444D-BAD8-E19B7D3B52CB}.Release|x86.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhone.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|x86.ActiveCfg = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Debug|x86.Build.0 = Debug|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|Any CPU.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhone.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhone.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|x86.ActiveCfg = Release|Any CPU
{8B9F2E93-B31B-4BA7-920D-732695A473E6}.Release|x86.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhone.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|x86.ActiveCfg = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Debug|x86.Build.0 = Debug|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|Any CPU.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhone.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhone.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|x86.ActiveCfg = Release|Any CPU
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11}.Release|x86.Build.0 = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|iPhone.Build.0 = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|x86.ActiveCfg = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Debug|x86.Build.0 = Debug|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|Any CPU.Build.0 = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|iPhone.ActiveCfg = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|iPhone.Build.0 = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|x86.ActiveCfg = Release|Any CPU
{F8F6973C-5831-43D1-89C2-1AD543CE7408}.Release|x86.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhone.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|x86.ActiveCfg = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Debug|x86.Build.0 = Debug|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|Any CPU.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhone.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhone.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|x86.ActiveCfg = Release|Any CPU
{6CD71E14-5036-4A16-8084-4AD108D34FF7}.Release|x86.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhone.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|x86.ActiveCfg = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Debug|x86.Build.0 = Debug|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|Any CPU.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhone.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhone.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|x86.ActiveCfg = Release|Any CPU
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78}.Release|x86.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhone.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|x86.ActiveCfg = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Debug|x86.Build.0 = Debug|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|Any CPU.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhone.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhone.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|x86.ActiveCfg = Release|Any CPU
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B}.Release|x86.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|Any CPU.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhone.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|x86.ActiveCfg = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Debug|x86.Build.0 = Debug|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|Any CPU.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|Any CPU.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhone.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhone.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|x86.ActiveCfg = Release|Any CPU
{66B7BFD6-6D4D-421B-BA5B-915348E53708}.Release|x86.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhone.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|x86.ActiveCfg = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Debug|x86.Build.0 = Debug|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|Any CPU.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhone.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhone.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|x86.ActiveCfg = Release|Any CPU
{0A624994-B0A9-4F1F-B7D0-97FE2929936B}.Release|x86.Build.0 = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|iPhone.Build.0 = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|x86.ActiveCfg = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Debug|x86.Build.0 = Debug|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|Any CPU.Build.0 = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|iPhone.ActiveCfg = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|iPhone.Build.0 = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|x86.ActiveCfg = Release|Any CPU
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8}.Release|x86.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhone.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|x86.ActiveCfg = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Debug|x86.Build.0 = Debug|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|Any CPU.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhone.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhone.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|x86.ActiveCfg = Release|Any CPU
{8EDF4429-251A-416D-BB68-93F227191BCF}.Release|x86.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhone.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|x86.ActiveCfg = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Debug|x86.Build.0 = Debug|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|Any CPU.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhone.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhone.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|x86.ActiveCfg = Release|Any CPU
{ABAF70E5-A582-4916-B217-6A660BB31D52}.Release|x86.Build.0 = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|Any CPU.Build.0 = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|iPhone.Build.0 = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|x86.ActiveCfg = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Debug|x86.Build.0 = Debug|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|Any CPU.ActiveCfg = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|Any CPU.Build.0 = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|iPhone.ActiveCfg = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|iPhone.Build.0 = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|x86.ActiveCfg = Release|Any CPU
{64F63608-1390-41D1-8568-F4E05AE35E75}.Release|x86.Build.0 = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|iPhone.Build.0 = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|x86.ActiveCfg = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Debug|x86.Build.0 = Debug|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|Any CPU.Build.0 = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|iPhone.ActiveCfg = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|iPhone.Build.0 = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|x86.ActiveCfg = Release|Any CPU
{A040865C-FA5F-486A-9CC9-96CF34859FBD}.Release|x86.Build.0 = Release|Any CPU
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Debug|iPhone.ActiveCfg = Debug|iPhone
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Debug|iPhone.Build.0 = Debug|iPhone
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Release|iPhone.ActiveCfg = Release|iPhone
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Release|iPhone.Build.0 = Release|iPhone
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{AFC828ED-21EE-4FD4-A40D-FEFED5EED4EA}.Release|x86.ActiveCfg = Release|iPhoneSimulator
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|iPhone.Build.0 = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|x86.ActiveCfg = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Debug|x86.Build.0 = Debug|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|Any CPU.Build.0 = Release|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|iPhone.ActiveCfg = Release|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|iPhone.Build.0 = Release|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|x86.ActiveCfg = Release|Any CPU
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0}.Release|x86.Build.0 = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|iPhone.Build.0 = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|x86.ActiveCfg = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Debug|x86.Build.0 = Debug|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|Any CPU.Build.0 = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|iPhone.ActiveCfg = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|iPhone.Build.0 = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|x86.ActiveCfg = Release|Any CPU
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2}.Release|x86.Build.0 = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|Any CPU.Build.0 = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|iPhone.Build.0 = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|x86.ActiveCfg = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Debug|x86.Build.0 = Debug|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|Any CPU.ActiveCfg = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|Any CPU.Build.0 = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|iPhone.ActiveCfg = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|iPhone.Build.0 = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|x86.ActiveCfg = Release|Any CPU
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{512B0511-41AB-444D-BAD8-E19B7D3B52CB} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{8B9F2E93-B31B-4BA7-920D-732695A473E6} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{E7468FDD-75F7-4B08-BA47-B715BBCFCC11} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{F8F6973C-5831-43D1-89C2-1AD543CE7408} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{6CD71E14-5036-4A16-8084-4AD108D34FF7} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{65DE552F-5E62-4E4F-ADCB-F19AD3DB3F78} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{B9D4C8C7-BF96-417B-A7F8-9A67AE75A38B} = {EBC9DD0C-F7D0-4A00-B263-E69CF4E194F1}
{66B7BFD6-6D4D-421B-BA5B-915348E53708} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{0A624994-B0A9-4F1F-B7D0-97FE2929936B} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{CF7C2B80-D393-45EA-A67D-DF46FF17B0F8} = {5A7A506C-4DFF-4941-A9A6-B1182C7D5825}
{8EDF4429-251A-416D-BB68-93F227191BCF} = {EBC9DD0C-F7D0-4A00-B263-E69CF4E194F1}
{ABAF70E5-A582-4916-B217-6A660BB31D52} = {5A7A506C-4DFF-4941-A9A6-B1182C7D5825}
{64F63608-1390-41D1-8568-F4E05AE35E75} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{A040865C-FA5F-486A-9CC9-96CF34859FBD} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{4DD998E6-5380-4C4C-A6D0-8387D42B30F0} = {B43459A1-709B-4623-9677-AAC2FEE4FBA3}
{2BB26997-D565-4E5B-BDE6-F1DC5C4D8CD2} = {2D44BDCF-B70C-4C02-BDC8-4F1DD5066A75}
{80DF4B55-8F38-4BD4-86B0-299D15A7EA54} = {5A7A506C-4DFF-4941-A9A6-B1182C7D5825}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3833E7C5-69BC-4CB3-92CE-A8854AA35D8A}
EndGlobalSection
EndGlobal
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1421 -1075
View File
File diff suppressed because it is too large Load Diff
+4 -1
View File
@@ -1,5 +1,8 @@
{
"msbuild-sdks": {
"MSBuild.Sdk.Extras": "3.0.22"
},
"sdk": {
"version": "6.0.100-preview.4.21255.9"
}
}
}
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!--<TargetFrameworks>netstandard2.0;netstandard2.1;net5.0</TargetFrameworks>-->
@@ -32,8 +32,13 @@
<PackageReference Include="CefNet" Version="90.5.21109.1453" />
</ItemGroup>
<ItemGroup>
<Folder Include="Events\" />
<ItemGroup Condition=" Exists('$(MSBuildProjectDirectory)\..\..\..\src\Common.CoreLib\Properties\ThisAssembly.Version.cs') ">
<Compile Include="..\..\..\src\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\..\..\src\Common.CoreLib\Properties\ThisAssembly.Version.cs">
<Link>Properties\ThisAssembly.Version.cs</Link>
</Compile>
</ItemGroup>
</Project>
Binary file not shown.
+58 -61
View File
@@ -1,35 +1,49 @@
# 前言
Steam++项目创建于2018年5月8日,不过并不是耗时两年才做出来,之前一直由于工作原因,并没有多少空闲时间,直到今年中旬辞职了,才开始猛肝。
本来是想一直做到完全体了,才考虑发布,不过现在感慨一下,果然是没法这么快就整完的,所以还是一版一版更新做到完全体吧。
Steam++只在keylol论坛与github发布,为了账号安全,请不要到其它不明地方下载。
Steam++项目创建于2018年5月8日,不过并不是耗时三年才做出来,之前一直由于软软(软件原作者)的工作原因,并没有多少空闲时间,直到去年中旬软软辞职了,才开始猛肝。
去年年底发布了Steam++的第一个版本,受到了其乐广大用户的喜爱,并有了高达数百位网友的赞助支持。在此动力下,一直一个人更新维护到今年2月份。之后又找来几位朋友一起全职合作开发,并创立了我们自己的公司来进行运营这一产品。
在每人每天近16小时的高强度爆肝下,我们使用了最新的技术、最新的框架,将Steam++原先的代码全部重写,重新制作了UI。于是乎,Steam++2.0崭新出炉了。
Steam++目前处于一个完全开源的状态,所以对于软件报毒可以不用担心安全问题。我们也制作了自己的产品[官网](https://www.steampp.net),大家可以去官网下载到我们的工具。
# Steam++工具箱
## 已知的未修复问题
* 部分用户无法加载游戏列表,原因可能是因为第一次加载游戏列表时未加载完成程序停止运行了,导致生成了错误的缓存文件apps.json,如果遇到此问题可尝试手动删除程序目录下的apps.json然后重启程序。
## 更新内容
### 1.1.4
### 2.3.0
```
更新内容
     修复成就图标加载失败
     优化反代速度
     修复steam图片反代启动时创意工坊图片显示不了的问题
     修复uplay更新反代启动时更新失败的问题
     添加windows系统代理方式(该方式进行代理将不需要修改hosts文件以及不用占用443端口)
添加steam更新代理服务以此解决部分用户无法更新Steam的问题
1. 改进 端口被占用检测进程名
2. 修复 部分 Toast 没有正确显示
3. 新增 账号注销功能
4. 改进 hosts 文件写入无权操作时显示的错误文本
5. 新增 快速登录后可绑定手机号
6. 新增 解绑快速登录账号
7. 新增 隐藏库存游戏
8. 新增 游戏功能-无边框窗口化
9. 新增 关于-更新日志
10. 新增 令牌加密设置,现在新增令牌默认将不启用本机加密
11. 修复 非正常退出程序时导致残留进程且无法启动程序
12. 改进 不再写入 C:\Users\用户名\AppData\Local 目录
13. 修复 文本框中某些符号可能无法正确输入
14. 改进 令牌排序上移下移
15. 新增 令牌导入导出
16. 新增 游戏时长挂机功能
17. 新增 Microsoft 账号快速登录与绑定
18. 新增 社区加速 hCaptcha 验证码 / EPIC 验证码 / artstation / v2ex
19. 修复 社区加速 discord 更新下载
```
## 工具介绍
`Steam++`是一个包含多种Steam工具功能的工具箱,开源发布于[Github](https://github.com/rmbadmin/SteamTools),如果您对发布的二进制文件不放心,可以自行下载源码编译运行。
此工具的大部分功能都是需要您下载安装Steam才能使用。
工具预计将整合进大部分常用的Steam相关工具,并且尽力做到比原工具更好用,在各种整合添加功能的同时,也会注意体积尽量的控制到最小。
「Steam++」是一个包含多种Steam工具功能的工具箱,所有功能完全免费,开源发布于Github,如果您对发布的二进制文件不放心,可以自行下载源码编译运行。
此工具的大部分功能都是需要您下载安装Steam才能使用。
工具预计将整合进大部分常用的Steam相关工具,并且尽力做到比原工具更好用。
软件截图
[hide]
@@ -42,78 +56,61 @@ Steam++只在keylol论坛与github发布,为了账号安全,请不要到其
## 核心功能
### 1. 反代Steam的社区网页使其能正常访问
### 1. 通过本地反代理Steam的社区等网页使其能正常访问
功能类似羽翼城大佬的[steamcommunity_302](https://www.dogfight360.com/blog/686/),使用[Titanium-Web-Proxy](https://github.com/justcoding121/Titanium-Web-Proxy)开源项目进行本地反代,相比302工具具有更快的启动速度,以及支持简单的脚本注入。该功能也可以配合羽翼城大佬的[UsbEAm Hosts Editor](https://www.dogfight360.com/blog/475/)里的网页相关-steamcommunity_302 社区/api/商店加载速度选项的hosts提升加载速度。
功能使用Titanium-Web-Proxy开源项目进行本地反代,相比SteamCommunity302工具具有更快的启动速度。让用户能够连接上诸如Steam社区(个人资料页)、Discord语音聊天、Twitch直播观看、Origin下载加速、谷歌验证码、Pixiv图片等。
[attachimg]1228388[/attachimg]
### 2. 快速切换当前PC已经记住登陆的Steam账号
该功能是读取Steam路径下存储的本地用户登录记录直接展示操作,可以多账号切换无需重新输入密码和令牌。
该功能是读取Steam路径下存储的本地用户登录记录直接展示操作,可以多账号切换无需重新输入密码和令牌。如果您的ip地址更换,会导致登陆状态失效。在Steam++2.0新版本支持了动态头像。
[attachimg]1228389[/attachimg]
### 3. Steam游戏的成就统计管理功能
功能参考[SteamAchievementManager](https://github.com/gibbed/SteamAchievementManager)进行二次开发,修复了成就语言有中文却依然是英文成就信息的BUG,修改了游戏列表的加载和操作易用性。
能够读取任何游戏的成就信息(包括隐藏成就),并且能进行成就修改,包括成就解锁以及成就反解锁,还能够修改成就统计信息
参考SAM(SteamAchievementManager)进行二次开发,修复了成就语言有中文却依然是英文成就信息的BUG,修改了游戏列表的加载和操作易用性。
注意:滥用成就管理功能可能会导致开发者封禁!
[attachimg]1228390[/attachimg]
### 4. Steam本地两步身份验证器
功能参考[WinAuth](https://github.com/winauth/winauth)开发,可以使您不用启动移动版Steam App也能查看您的令牌,功能类似的软件有[WinAuth](https://github.com/winauth/winauth)、[SteamDesktopAuthenticator](https://github.com/Jessecar96/SteamDesktopAuthenticator)。
该功能能够将Steam手机令牌储存到您的电脑中,并能够进行与手机端一样的操作。
不仅能查看手机令牌,还能进行交易报价确认,并且能一键全部确认。
功能参考WinAuth开发,功能类似的软件有WinAuth、SteamDesktopAuthenticator。
[attachimg]1228391[/attachimg]
本地令牌交易市场报价确认
[attachimg]1262615[/attachimg]
### 5. 一些游戏工具
### 5. Steam内置浏览器脚本注入
通过反代加速功能将js脚本内置插入了Steam客户端内的浏览器,达到了与油猴类似的效果。目前2.0.0.6版本新增了脚本工坊,可以从我们的服务器上下载到已经兼容的脚本。我们也会不断添加新的脚本,同时也会对旧的脚本进行维护。
目前已有强制游戏无边框窗口化,CSGO修复VAC屏蔽。
这一块是随缘做一些我经常用或者闲着没事捣鼓的功能。
将任何游戏强制无边框窗口化
[attachimg]1228392[/attachimg]
使任何窗口化游戏变成动态桌面壁纸(终于可以用《山》当壁纸了)
[attachimg]1228393[/attachimg]
### 6. 更多的游戏工具功能
支持各种老游戏无边框窗口化等等
------
### 6. 更新计划(画饼时间到)
我们预计会在6月份将推出本地挂卡、挂时长功能。并且同步推出iOS、安卓端App,用户可以利用手机查看多个账号的令牌,一键确认上架,并且支持手机挂卡。
## 预计后续添加的功能
### Steam自动挂卡
尝试用社区反代功能结合成就解锁功能来重新实现,目的是实现在软件内不用登录Steam即可直接获取徽章卡片信息并开始挂卡。
### Steam皮肤设计器
挖坑画大饼,可视化编辑Steam皮肤,而且如果软件能上架Steam的话打算支持创意工坊分享设计的Steam皮肤,短期内肯定做不完。
### 插件形式加载运行ASF
以插件形式支持ASF在工具内运行并增强ASF在Windows Desktop环境下的使用。
### Steam自定义封面管理
增强Steam自定义封面的管理以及从[SteamGridDB](https://www.steamgriddb.com/)快速匹配下载应用封面。
#### 并且,以上功能全部免费!
------
## 运行环境
> 程序使用C# WPF在 .NET Framework4.7.2环境下开发,如果无法运行请下载安装[.NET Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472)。
> 程序使用C# 在 .NET 6.0环境下开发,新版采用独立部署编译,不需要运行环境也可以运行)。
## 下载
> [官网](https://steampp.net/)
> [Github](https://github.com/rmbadmin/SteamTools/releases)
> 分流下载:
> [hide]
> [蓝奏云](https://wws.lanzous.com/iFkh4lyooeh)
> [百度云](链接: https://pan.baidu.com/s/1mD-C_Ndc332oq_XnFVBLrQ)
> 提取码:2uxe
> [蓝奏云](https://cliencer.lanzous.com/b0165duja)
> 提取码:1234
> [/hide]
> EXE 大小:4.83MB
> EXE MD5:4149DC37BF24DD10181E32450290FEF6
> ZIP MD5:202F62682379566DBCD48C65917D4FFF
> [查毒链接](https://www.virustotal.com/gui/file/8d6da4a3fe7b1738aa5725e9797a86f8b5c668920d1449594279ea7bb262e4ef/detection)
虽然没有什么杀毒软件报毒,但是使用过程中可能遇到windows defender误报,您可以选择添加信任。
使用过程中可能遇到windows defender误报,您可以选择添加信任。
+33
View File
@@ -0,0 +1,33 @@
1. 修复 添加令牌时引发的闪退
2. CLR 升级至 .NET 6 Preview 4
3. 64 位程序支持,从此版本开始不再提供 32 位程序支持
4. CEF 升级至 90.6.3
5. 改进 程序目录结构,所有相关 dll 将放入 bin 文件夹中
6. 新增 全新的托盘菜单
7. 改进 隐藏游戏列表与挂机游戏列表实时刷新
8. 新增 JumpList 菜单切换账号
9. 修复 Win7 中右上角按钮样式错误
10. 改进 缓存获取加速项目数据,避免失败时无数据
11. 修复 手动检查更新时有概率出现两个新版本窗口
12. 改进 未使用社区加速时退出程序不再清理 hosts 文件
13. 修复 托盘位置因 DPI 缩放导致位置不正确
| File | Checksum (SHA256) |
| ---- | ---- |
| Steam++_win_x64_v2.4.1.7z | SHA256 |
| Steam++_win_x64_v2.4.1.exe | SHA256 |
| Steam++_win_x64_v2.4.1.msix | SHA256 |
| Steam++_win_arm64_v2.4.1.7z | SHA256 |
| Steam++_win_arm64_v2.4.1.exe | SHA256 |
| Steam++_win_arm64_v2.4.1.msix | SHA256 |
| Steam++_linux_x64_v2.4.1.7z | SHA256 |
| Steam++_linux_x64_v2.4.1.deb | SHA256 |
| Steam++_macos_x64_v2.4.1.dmg | SHA256 |
| Steam++_macos_arm64_v2.4.1.dmg | SHA256 |
| Steam++_android_v2.4.1.apk | SHA256 |
| Steam++_android_arm64_v2.4.1.apk | SHA256 |
| Steam++_android_arm_v2.4.1.apk | SHA256 |
***
由于程序体积较大,推荐从 [官网 https://steampp.net](https://steampp.net) 中下载
Binary file not shown.
+5
View File
@@ -0,0 +1,5 @@
<svg id="abee0869-1b5a-43b0-ad2d-68b9c06591d9" data-name="steampp" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 151.22 160.98"><defs><style>.bee71911-c304-409c-b1a3-5c617b033d97{fill:#fff;}.e33bb62c-3cd8-43d8-b337-a8f898048f78{fill:url(#fe73b66f-3888-4385-9976-c891a0dc3db5);}.f52f40e5-9b40-42f3-ad92-92d8d45039d2{fill:url(#f2f22e4f-2cb9-40ee-9151-f69f4c5c4c7f);}</style><linearGradient id="fe73b66f-3888-4385-9976-c891a0dc3db5" x1="53.34" y1="148.33" x2="142.57" y2="59.1" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#1890de"/><stop offset="0.07" stop-color="#2195e1"/><stop offset="0.31" stop-color="#3ea3ea"/><stop offset="0.54" stop-color="#53adf1"/><stop offset="0.78" stop-color="#60b3f5"/><stop offset="1" stop-color="#64b5f6"/></linearGradient><linearGradient id="f2f22e4f-2cb9-40ee-9151-f69f4c5c4c7f" x1="162.65" y1="122.92" x2="85.29" y2="45.56" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#81c784"/><stop offset="0.1" stop-color="#6cb46f"/><stop offset="0.21" stop-color="#5ba55f"/><stop offset="0.34" stop-color="#519c55"/><stop offset="0.5" stop-color="#4e9952"/><stop offset="0.66" stop-color="#519c55"/><stop offset="0.79" stop-color="#5ba55f"/><stop offset="0.9" stop-color="#6cb46f"/><stop offset="1" stop-color="#81c784"/></linearGradient></defs>
<path class="e33bb62c-3cd8-43d8-b337-a8f898048f78" d="M121.28,180.51c-3.4,0-6.79,0-10.19,0a6.18,6.18,0,0,1-5.51-4.24c-1.45-5.21-2.87-10.43-4.4-15.61a2.41,2.41,0,0,0-1.43-1.38,77.05,77.05,0,0,1-15.07-6.87,20.55,20.55,0,0,1-2.74-1.69c-1-.8-1.7-.51-2.51.14-3.13,2.47-6.33,4.85-9.36,7.42A5,5,0,0,1,63,158c-2.76-2.7-5.35-5.57-8-8.39-3.37-3.56-6.74-7.12-10.07-10.72a5.91,5.91,0,0,1-.54-7.46c2.48-3.46,4.71-7.09,7.09-10.63a1.41,1.41,0,0,0,0-1.73,83.14,83.14,0,0,1-8.36-18.84,1.73,1.73,0,0,0-1-1q-6.65-1.92-13.33-3.71A5.63,5.63,0,0,1,24.42,90q0-10.2,0-20.4c0-2.64,1.36-4.09,4-4.2,4-.18,8.06-.3,12.1-.41a1.39,1.39,0,0,0,1.56-1.21,44.26,44.26,0,0,1,5.85-12.88,1.57,1.57,0,0,0-.08-2.12c-2.36-3.15-4.66-6.35-7-9.55a3.3,3.3,0,0,1,.77-4.92c4.07-2.86,8.21-5.65,12.23-8.59a4.94,4.94,0,0,1,5.68.09c3,2.3,6.11,4.49,9.08,6.84a2.64,2.64,0,0,0,2.74.5,47.44,47.44,0,0,1,12.43-2.3c.65,0,.94-.25,1-.89.08-.87.26-1.73.34-2.6.18-1.95.3-3.9.5-5.85a2.12,2.12,0,0,1,2.51-1.85,53.28,53.28,0,0,1,5.29.94c3.74.77,7.48,1.57,11.23,2.35a6.31,6.31,0,0,1,5.06,4.53c.84,2.57,1.74,5.13,2.77,7.63a4.14,4.14,0,0,0,1.72,1.64c1,.58,2.11.94,3.15,1.43a3.09,3.09,0,0,1,.67.59,2.63,2.63,0,0,1-.87.09,43.19,43.19,0,0,0-12-1.43c-8.59.2-16.54,2.49-23.3,8A34.77,34.77,0,0,0,71.26,60.66c-2.73,7.4-2.92,15-2,22.67a54.81,54.81,0,0,0,5.41,17.74c1.55,3.14,3.42,6.12,5.13,9.18.45.81.78.92,1.44.13,1.2-1.44,2.51-2.79,3.79-4.16a3.05,3.05,0,0,0,.89-2.37c-.3-6.14-.32-12.31-.94-18.43a6,6,0,0,1,1.88-5.23c4.11-4.46,8.16-9,12.2-13.48a3.3,3.3,0,0,1,2.57-1.18c5.19-.19,10.37-.49,15.56-.71,1.54-.07,2.25.33,2.46,1.69a3.24,3.24,0,0,1-.65,2.35c-4,4.49-8,8.9-12,13.31a1.39,1.39,0,0,0-.33,1.79c1.46,3.18,2.83,6.4,4.28,9.59a1.75,1.75,0,0,0,.88.84c3.38,1.18,6.79,2.31,10.18,3.47.75.26,1.18-.11,1.63-.62q5.73-6.36,11.48-12.68c.3-.32.55-.79.92-.92a4.94,4.94,0,0,1,2.31-.47,2,2,0,0,1,1.58,2.15c.17,3.23.31,6.46.49,9.69.12,2.11.33,4.22.38,6.33a2.87,2.87,0,0,1-.63,1.82q-7,7.84-14.14,15.58a2.57,2.57,0,0,1-1.21.64,7.13,7.13,0,0,1-1.54.17c-6.5.32-13,.63-19.5,1a2.29,2.29,0,0,0-1.43.66c-1.81,1.9-3.55,3.87-5.34,5.8-.7.75-.56,1.24.24,1.83a66.14,66.14,0,0,0,18.27,9.79,50.54,50.54,0,0,0,16.8,2.79c8.41-.07,16.16-2.26,22.88-7.5a34.86,34.86,0,0,0,11-15.07c.24-.6.56-1.15.85-1.72a8.81,8.81,0,0,1,.12,2c-.46,2.87-1,5.71-1.48,8.58a2,2,0,0,0,.37,1.4c2.55,3.37,5.12,6.73,7.74,10,1.93,2.45,2.53,4.88.8,7.78-2.64,4.4-5.06,8.94-7.63,13.38-1.26,2.17-3.18,2.53-5.25,1q-4.09-3-8.11-6.13c-3.2-2.49-3.16-2.49-6.44-.16a39.15,39.15,0,0,1-10.69,5.22,1.43,1.43,0,0,0-1.19,1.7c.14,4.67.12,9.35.37,14a4.3,4.3,0,0,1-4.55,4.62C127.85,180.37,124.56,180.51,121.28,180.51Z" transform="translate(-24.41 -19.59)"/>
<path class="f52f40e5-9b40-42f3-ad92-92d8d45039d2" d="M105.9,39.94a52.29,52.29,0,0,1,18.17,3.85,64.5,64.5,0,0,1,17.47,10.47,67.77,67.77,0,0,1,11,11.42,64.77,64.77,0,0,1,10.06,18.26,68.43,68.43,0,0,1,2.78,9.75,47.72,47.72,0,0,1,.23,16.69,35.77,35.77,0,0,1-7.11,16.37A30.1,30.1,0,0,1,143.14,137a42.13,42.13,0,0,1-12.28,1.72c-.16,0-.32,0-.47,0a1.78,1.78,0,0,1,.45-.28c1.95-.66,3.94-1.23,5.87-2A25.79,25.79,0,0,0,149.25,126a31.24,31.24,0,0,0,4.45-11.76,39.49,39.49,0,0,0,.29-11.78,49.28,49.28,0,0,0-3.15-12.35A58.94,58.94,0,0,0,140.6,72.89a61.58,61.58,0,0,0-14-12.39,53,53,0,0,0-15.64-6.79c-9-2.18-17.72-1.64-25.83,3.11a26.22,26.22,0,0,0-11.19,13C73.09,71.84,72.6,74,72,76c0,.17-.14.34-.2.51a1.55,1.55,0,0,1-.23-.6c.07-1.92.07-3.85.28-5.75A36.07,36.07,0,0,1,77,55a29.6,29.6,0,0,1,9.92-9.86A30.76,30.76,0,0,1,98.22,40.9C100.76,40.5,103.34,40.26,105.9,39.94Z" transform="translate(-24.41 -19.59)"/></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

+6
View File
@@ -7,6 +7,9 @@ namespace System
{
public static readonly string projPath;
public const string ProjectDir_AvaloniaAppBridge = "ST.Client.Desktop.Avalonia.App.Bridge";
public const string ProjectDir_ConsoleAppBridge = "ST.Client.Desktop.Console.App.Bridge";
public const string ProjectDir_ConsoleAppBridgePackage = "ST.Client.Desktop.Avalonia.App.Bridge.Package";
public const string ProjectDir_AvaloniaApp = "ST.Client.Desktop.Avalonia.App";
public const string ProjectDir_Win7Troubleshoot = "ST.Tools.Win7Troubleshoot";
public const string ProjectDir_CoreLib = "Common.CoreLib";
@@ -18,6 +21,9 @@ namespace System
public const string DirPublishWinX86 =
@"\src\" + ProjectDir_AvaloniaApp + @"\bin\Release\Publish\win-x86";
public const string DirPublishWinX64 =
@"\src\" + ProjectDir_AvaloniaApp + @"\bin\Release\Publish\win-x64";
public const string DirPublish =
@"\src\" + ProjectDir_AvaloniaApp + @"\bin\Release\Publish";
Binary file not shown.

After

Width:  |  Height:  |  Size: 790 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

+79 -64
View File
@@ -1,4 +1,4 @@
using System;
using System;
using System.Threading;
using Steam4NET;
@@ -17,7 +17,7 @@ namespace SteamTool.Steam4NET.Test
Console.Write("Loading Steam2 and Steam3... ");
if (Steamworks.Load(true))
if (Steamworks.Load(false))
{
Console.WriteLine("Ok");
}
@@ -29,81 +29,81 @@ namespace SteamTool.Steam4NET.Test
Console.WriteLine("\nSteam2 tests:");
ISteam006 steam006 = Steamworks.CreateSteamInterface<ISteam006>();
if (steam006 == null)
{
Console.WriteLine("steam006 is null !");
return -1;
}
//ISteam006 steam006 = Steamworks.CreateSteamInterface<ISteam006>();
//if (steam006 == null)
//{
// Console.WriteLine("steam006 is null !");
// return -1;
//}
TSteamError steamError = new TSteamError();
Console.Write("GetVersion: ");
StringBuilder version = new StringBuilder();
if (steam006.GetVersion(version) != 0)
{
Console.WriteLine("Ok (" + version.ToString() + ")");
}
else
{
Console.WriteLine("Failed");
return -1;
}
//Console.Write("GetVersion: ");
//StringBuilder version = new StringBuilder();
//if (steam006.GetVersion(version) != 0)
//{
// Console.WriteLine("Ok (" + version.ToString() + ")");
//}
//else
//{
// Console.WriteLine("Failed");
// return -1;
//}
steam006.ClearError(ref steamError);
//steam006.ClearError(ref steamError);
Console.Write("Startup: ");
if (steam006.Startup(0, ref steamError) != 0)
{
Console.WriteLine("Ok");
}
else
{
Console.WriteLine("Failed (" + steamError.szDesc + ")");
return -1;
}
//Console.Write("Startup: ");
//if (steam006.Startup(0, ref steamError) != 0)
//{
// Console.WriteLine("Ok");
//}
//else
//{
// Console.WriteLine("Failed (" + steamError.szDesc + ")");
// return -1;
//}
Console.Write("OpenTmpFile: ");
uint hFile;
if ((hFile = steam006.OpenTmpFile(ref steamError)) != 0)
{
Console.WriteLine("Ok");
}
else
{
Console.WriteLine("Failed (" + steamError.szDesc + ")");
return -1;
}
//Console.Write("OpenTmpFile: ");
//uint hFile;
//if ((hFile = steam006.OpenTmpFile(ref steamError)) != 0)
//{
// Console.WriteLine("Ok");
//}
//else
//{
// Console.WriteLine("Failed (" + steamError.szDesc + ")");
// return -1;
//}
Console.Write("WriteFile: ");
byte[] fileContent = System.Text.UTF8Encoding.UTF8.GetBytes("test");
if (steam006.WriteFile(fileContent, (uint)fileContent.Length, hFile, ref steamError) == fileContent.Length)
{
Console.WriteLine("Ok");
}
else
{
Console.WriteLine("Failed (" + steamError.szDesc + ")");
return -1;
}
//Console.Write("WriteFile: ");
//byte[] fileContent = System.Text.UTF8Encoding.UTF8.GetBytes("test");
//if (steam006.WriteFile(fileContent, (uint)fileContent.Length, hFile, ref steamError) == fileContent.Length)
//{
// Console.WriteLine("Ok");
//}
//else
//{
// Console.WriteLine("Failed (" + steamError.szDesc + ")");
// return -1;
//}
Console.Write("CloseFile: ");
if (steam006.CloseFile(hFile, ref steamError) == 0)
{
Console.WriteLine("Ok");
}
else
{
Console.WriteLine("Failed (" + steamError.szDesc + ")");
return -1;
}
//Console.Write("CloseFile: ");
//if (steam006.CloseFile(hFile, ref steamError) == 0)
//{
// Console.WriteLine("Ok");
//}
//else
//{
// Console.WriteLine("Failed (" + steamError.szDesc + ")");
// return -1;
//}
Console.WriteLine("\nSteam3 tests:");
ISteamClient012 steamclient = Steamworks.CreateInterface<ISteamClient012>();
ISteamClient009 steamclient9 = Steamworks.CreateInterface<ISteamClient009>();
ISteamClient017 steamclient = Steamworks.CreateInterface<ISteamClient017>();
//ISteamClient009 steamclient9 = Steamworks.CreateInterface<ISteamClient009>();
if (steamclient == null)
{
Console.WriteLine("steamclient is null !");
@@ -161,6 +161,21 @@ namespace SteamTool.Steam4NET.Test
Console.WriteLine("clientuser is null !");
return -1;
}
ISteamApps001 clientapps = steamclient.GetISteamApps<ISteamApps001>(user, pipe);
if (clientapps == null)
{
Console.WriteLine("clientapps is null !");
return -1;
}
ISteamApps006 clientapps6 = steamclient.GetISteamApps<ISteamApps006>(user, pipe);
if (clientapps6 == null)
{
Console.WriteLine("clientapps6 is null !");
return -1;
}
IClientFriends clientfriends = clientengine.GetIClientFriends<IClientFriends>(user, pipe);
if (clientfriends == null)
{
@@ -8,7 +8,8 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x86</PlatformTarget>
<PlatformTarget>AnyCPU</PlatformTarget>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
+1 -1
View File
@@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
using Microsoft.Win32;
using System.Text;
+1 -1
View File
@@ -1,4 +1,4 @@
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
@@ -1,4 +1,4 @@
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
+2 -2
View File
@@ -1,4 +1,4 @@
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
@@ -120,7 +120,7 @@ namespace SAM.API
Native.SetDllDirectory(path + ";" + Path.Combine(path, "bin"));
path = Path.Combine(path, "steamclient.dll");
path = Path.Combine(path, "steamclient64.dll");
IntPtr module = Native.LoadLibraryEx(path, IntPtr.Zero, Native.LoadWithAlteredSearchPath);
if (module == IntPtr.Zero)
{
@@ -1,4 +1,4 @@
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
/* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us)
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
+4 -2
View File
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
@@ -30,6 +30,7 @@
<Description>「Steam++」是一个包含多种Steam工具功能的工具箱。</Description>
<Platforms>AnyCPU;x86</Platforms>
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
<Product>SteamTools</Product>
@@ -49,7 +50,8 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net472|AnyCPU'">
<PlatformTarget>x86</PlatformTarget>
<PlatformTarget>AnyCPU</PlatformTarget>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net472|x86'">
@@ -1,4 +1,4 @@
using MessagePack;
using MessagePack;
using System.Application.Entities;
using System.Linq;
using System.Properties;
@@ -14,7 +14,7 @@ namespace System.Application.Services.Implementation
if (areas == null)
{
var lz4Options = MessagePackSerializerOptions.Standard.WithCompression(MessagePackCompression.Lz4BlockArray);
areas = MessagePackSerializer.Deserialize<TArea[]>(SR.AMap_adcode_citycode_20210406_xlsx_mpo, lz4Options);
areas = MessagePackSerializer.Deserialize<TArea[]>(SR.AMap_adcode_citycode_20210406_xlsx, lz4Options);
}
return areas;
}
+4 -1
View File
@@ -11,13 +11,16 @@
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\InternalsVisibleTo.cs">
<Link>Properties\InternalsVisibleTo.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common.CoreLib\Common.CoreLib.csproj"/>
<ProjectReference Include="..\Common.CoreLib\Common.CoreLib.csproj" />
</ItemGroup>
<ItemGroup>
+2 -2
View File
@@ -63,9 +63,9 @@ namespace System.Properties {
/// <summary>
/// 查找 System.Byte[] 类型的本地化资源。
/// </summary>
internal static byte[] AMap_adcode_citycode_20210406_xlsx_mpo {
internal static byte[] AMap_adcode_citycode_20210406_xlsx {
get {
object obj = ResourceManager.GetObject("AMap_adcode_citycode_20210406.xlsx.mpo", resourceCulture);
object obj = ResourceManager.GetObject("AMap_adcode_citycode_20210406_xlsx", resourceCulture);
return ((byte[])(obj));
}
}
+3 -3
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="AMap_adcode_citycode_20210406.xlsx.mpo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\..\..\Resources\Areas\AMap_adcode_citycode_20210406.xlsx.mpo;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="AMap_adcode_citycode_20210406_xlsx" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AMap_adcode_citycode_20210406.xlsx.mpo;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
@@ -1,4 +1,4 @@
using Android.Content;
using Android.Content;
using Android.Content.PM;
using Android.OS;
using System.Application.Properties;
@@ -51,7 +51,7 @@ namespace System.Application.Security
/// </summary>
/// <param name="enableEmulator"></param>
/// <returns></returns>
public static bool IsSupported(bool enableEmulator)
public static bool IsSupported(bool enableEmulator, bool allowXposed = false, bool allowRoot = false)
{
if (!enableEmulator && IsEmulator)
return Exit(ExitCode.IsEmulator);
@@ -59,10 +59,10 @@ namespace System.Application.Security
if (!enableEmulator && SecurityCheckUtil.CheckIsDebuggerConnected())
return Exit(ExitCode.IsDebuggerConnected);
if (SecurityCheckUtil.IsXposedExists())
if (!allowXposed && SecurityCheckUtil.IsXposedExists())
return Exit(ExitCode.IsXposedExists);
if (!enableEmulator && SecurityCheckUtil.IsRoot())
if (!enableEmulator && !allowRoot && SecurityCheckUtil.IsRoot())
return Exit(ExitCode.IsRoot);
var context = AndroidApplication.Context;
@@ -1,7 +1,7 @@
<Project Sdk="MSBuild.Sdk.Extras">
<Project Sdk="MSBuild.Sdk.Extras">
<PropertyGroup>
<TargetFramework>MonoAndroid10.0</TargetFramework>
<TargetFramework>MonoAndroid11.0</TargetFramework>
<RootNamespace>System</RootNamespace>
<AssemblyName>System.Common.ClientLib.Droid</AssemblyName>
<AndroidUseIntermediateDesignerFile>false</AndroidUseIntermediateDesignerFile>
@@ -15,6 +15,9 @@
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\InternalsVisibleTo.cs">
<Link>Properties\InternalsVisibleTo.cs</Link>
</Compile>
@@ -10,6 +10,9 @@
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\InternalsVisibleTo.cs">
<Link>Properties\InternalsVisibleTo.cs</Link>
</Compile>
@@ -1,4 +1,4 @@
using System.Threading.Tasks;
using System.Threading.Tasks;
namespace System.Application.Services
{
@@ -33,7 +33,46 @@ namespace System.Application.Services
/// <returns></returns>
ValueTask<string?> D(byte[]? value, string? secondaryPassword = null);
/// <inheritdoc cref="D(byte[]?, string?)"/>
ValueTask<(string? content, DResultCode resultCode)> D2(byte[]? value, string? secondaryPassword = null);
/// <inheritdoc cref="D(byte[]?, string?)"/>
ValueTask<byte[]?> DB(byte[]? value, string? secondaryPassword = null);
/// <inheritdoc cref="D(byte[]?, string?)"/>
ValueTask<(byte[]? content, DResultCode resultCode)> DB2(byte[]? value, string? secondaryPassword = null);
public enum DResultCode
{
/// <summary>
/// 成功
/// </summary>
Success = 200,
/// <summary>
/// 嵌入 Aes 失败
/// </summary>
EmbeddedAesFail = 901,
/// <summary>
/// 仅本机失败
/// </summary>
LocalFail,
/// <summary>
/// 二级密码失败
/// </summary>
SecondaryPasswordFail,
/// <summary>
/// 密文值不正确
/// </summary>
IncorrectValueFail,
/// <summary>
/// 转换字符串失败
/// </summary>
UTF8GetStringFail,
}
}
}
@@ -1,4 +1,4 @@
using System.Linq;
using System.Linq;
using System.Security.Cryptography;
using System.Threading.Tasks;
using static System.Application.Services.ILocalDataProtectionProvider;
@@ -23,28 +23,18 @@ namespace System.Application.Services.Implementation
{
this.protectedData = protectedData;
this.dataProtectionProvider = dataProtectionProvider;
switch (DI.Platform)
defaultELocalDataProtectionType = DI.Platform switch
{
case Platform.Windows:
if (Environment.OSVersion.Version.Major >= 10)
{
defaultELocalDataProtectionType = LocalDataProtectionType.Win10WithAesOFB;
}
else
{
defaultELocalDataProtectionType = LocalDataProtectionType.ProtectedDataWithAesOFB;
}
break;
case Platform.Linux:
defaultELocalDataProtectionType = LocalDataProtectionType.AesOFB;
break;
default:
defaultELocalDataProtectionType = LocalDataProtectionType.None;
break;
}
Platform.Windows => Environment.OSVersion.Version.Major >= 10
? LocalDataProtectionType.Win10WithAesCFB
: LocalDataProtectionType.ProtectedDataWithAesCFB,
_ => LocalDataProtectionType.AesCFB,
};
_aes = new Lazy<Aes>(() =>
{
(byte[] key, byte[] iv) = MachineSecretKey;
(var key, var iv) = MachineSecretKey;
// https://github.com/dotnet/runtime/issues/42214#issuecomment-698495584
// AES CFB in Windows 7 catch Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: Unknown error (0xc10000bb)
var r = AESUtils.Create(key, iv, CipherMode.CFB, PaddingMode.PKCS7);
return r;
});
@@ -54,11 +44,11 @@ namespace System.Application.Services.Implementation
{
None,
AesOFB,
AesCFB,
ProtectedDataWithAesOFB,
ProtectedDataWithAesCFB,
Win10WithAesOFB,
Win10WithAesCFB,
}
protected abstract (byte[] key, byte[] iv) MachineSecretKey { get; }
@@ -83,16 +73,16 @@ namespace System.Application.Services.Implementation
{
case LocalDataProtectionType.None:
return value;
case LocalDataProtectionType.AesOFB:
case LocalDataProtectionType.AesCFB:
var value_1 = E___(value);
var value_1_r = Concat(value_1);
return value_1_r;
case LocalDataProtectionType.ProtectedDataWithAesOFB:
case LocalDataProtectionType.ProtectedDataWithAesCFB:
var value_2 = E___(value);
var value_2_pd = protectedData.Protect(value_2);
var value_2_r = Concat(value_2_pd);
return value_2_r;
case LocalDataProtectionType.Win10WithAesOFB:
case LocalDataProtectionType.Win10WithAesCFB:
var value_3 = E___(value);
var value_3_dpp = await dataProtectionProvider.ProtectAsync(value_3);
var value_3_r = Concat(value_3_dpp);
@@ -124,14 +114,14 @@ namespace System.Application.Services.Implementation
{
case LocalDataProtectionType.None:
return value;
case LocalDataProtectionType.AesOFB:
case LocalDataProtectionType.AesCFB:
return D___(value);
case LocalDataProtectionType.ProtectedDataWithAesOFB:
case LocalDataProtectionType.ProtectedDataWithAesCFB:
var value_2 = UnConcat(value);
var value_2_pd = protectedData.Unprotect(value_2);
var value_2_r = AESUtils.Decrypt(aes, value_2_pd);
return value_2_r;
case LocalDataProtectionType.Win10WithAesOFB:
case LocalDataProtectionType.Win10WithAesCFB:
var value_3 = UnConcat(value);
var value_3_dpp = await dataProtectionProvider.UnprotectAsync(value_3);
var value_3_r = AESUtils.Decrypt(aes, value_3_dpp);
@@ -2,6 +2,7 @@ using System.Linq;
using System.Security;
using System.Text;
using System.Threading.Tasks;
using static System.Application.Services.ISecurityService;
namespace System.Application.Services.Implementation
{
@@ -76,23 +77,35 @@ namespace System.Application.Services.Implementation
public async ValueTask<string?> D(byte[]? value, string? secondaryPassword)
{
var value2 = await DB(value, secondaryPassword);
if (value2 == null || !value2.Any()) return null;
(var content, var _) = await D2(value, secondaryPassword);
return content;
}
public async ValueTask<(string? content, DResultCode resultCode)> D2(byte[]? value, string? secondaryPassword)
{
(var content, var resultCode) = await DB2(value, secondaryPassword);
if (resultCode != DResultCode.Success || content == null || !content.Any()) return (null, resultCode);
try
{
return Encoding.UTF8.GetString(value2);
var content_ = Encoding.UTF8.GetString(content);
return (content_, DResultCode.Success);
}
catch
{
return null;
return (null, DResultCode.UTF8GetStringFail);
}
}
public async ValueTask<byte[]?> DB(byte[]? value, string? secondaryPassword)
{
if (value == null) return value;
if (value.Length == 0) return value;
if (value.Length <= sizeof(int)) return null;
(var content, var _) = await DB2(value, secondaryPassword);
return content;
}
public async ValueTask<(byte[]? content, DResultCode resultCode)> DB2(byte[]? value, string? secondaryPassword)
{
if (value == null || value.Length == 0) return (value, DResultCode.Success);
if (value.Length <= sizeof(int)) return (null, DResultCode.IncorrectValueFail);
var d_type = (EncryptionMode)BitConverter.ToInt32(value, 0);
switch (d_type)
@@ -100,27 +113,37 @@ namespace System.Application.Services.Implementation
case EncryptionMode.EmbeddedAes:
var value_1 = UnConcat(value);
var value_1_r = ea.DB(value_1);
return value_1_r;
return (value_1_r, value_1_r == null ?
DResultCode.EmbeddedAesFail : DResultCode.Success);
case EncryptionMode.EmbeddedAesWithLocal:
var value_2 = UnConcat(value);
var value_2_local = await local.DB(value_2);
if (value_2_local == null) return (null, DResultCode.LocalFail);
var value_2_r = ea.DB(value_2_local);
return value_2_r;
return (value_2_r, value_2_r == null ?
DResultCode.EmbeddedAesFail : DResultCode.Success);
case EncryptionMode.EmbeddedAesWithSecondaryPassword:
if (string.IsNullOrWhiteSpace(secondaryPassword)) return null;
if (string.IsNullOrWhiteSpace(secondaryPassword))
return (null, DResultCode.SecondaryPasswordFail);
var value_3 = UnConcat(value);
var value_3_sp = sp.DB(value_3, secondaryPassword);
if (value_3_sp == null) return (null, DResultCode.SecondaryPasswordFail);
var value_3_r = ea.DB(value_3_sp);
return value_3_r;
return (value_3_r, value_3_r == null ?
DResultCode.EmbeddedAesFail : DResultCode.Success);
case EncryptionMode.EmbeddedAesWithSecondaryPasswordWithLocal:
if (string.IsNullOrWhiteSpace(secondaryPassword)) return null;
if (string.IsNullOrWhiteSpace(secondaryPassword))
return (null, DResultCode.SecondaryPasswordFail);
var value_4 = UnConcat(value);
var value_4_local = await local.DB(value_4);
if (value_4_local == null) return (null, DResultCode.LocalFail);
var value_4_sp = sp.DB(value_4_local, secondaryPassword);
if (value_4_sp == null) return (null, DResultCode.SecondaryPasswordFail);
var value_4_r = ea.DB(value_4_sp);
return value_4_r;
return (value_4_r, value_4_r == null ?
DResultCode.EmbeddedAesFail : DResultCode.Success);
default:
return null;
return (null, DResultCode.IncorrectValueFail);
}
}
}
+4 -1
View File
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
@@ -10,6 +10,9 @@
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\InternalsVisibleTo.cs">
<Link>Properties\InternalsVisibleTo.cs</Link>
</Compile>
@@ -1,4 +1,4 @@
using System.Threading.Tasks;
using System.Threading.Tasks;
using Xamarin.Essentials;
namespace System.Security
@@ -30,5 +30,11 @@ namespace System.Security
var result = SecureStorage.Remove(key);
return Task.FromResult(result);
}
async Task<bool> IStorage.ContainsKeyAsync(string key)
{
var result = await SecureStorage.GetAsync(key);
return result != null;
}
}
}
@@ -1,4 +1,4 @@
using System.Application.Repositories;
using System.Application.Repositories;
using System.Application.Services;
using System.Security.Cryptography;
using System.Threading.Tasks;
@@ -57,5 +57,12 @@ namespace System.Security
var result = await DeleteAsync(key);
return result > 0;
}
async Task<bool> IStorage.ContainsKeyAsync(string key)
{
key = GetKey(key);
var item = await FirstOrDefaultAsync(x => x.Id == key);
return item != null;
}
}
}
@@ -1,4 +1,4 @@
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.DependencyInjection.Extensions;
using System;
using System.Application.Services;
using System.Application.Services.Implementation;
@@ -63,7 +63,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// <returns></returns>
public static IServiceCollection AddSecurityService<TEmbeddedAes, TLocal>(this IServiceCollection services)
where TEmbeddedAes : EmbeddedAesDataProtectionProviderBase
where TLocal : LocalDataProtectionProviderBase
where TLocal : class, ILocalDataProtectionProvider
{
services.TryAddSingleton<IProtectedData, EmptyProtectedData>();
services.TryAddSingleton<IDataProtectionProvider, EmptyDataProtectionProvider>();
@@ -1,4 +1,4 @@
namespace System.Application.Columns
namespace System.Application.Columns
{
/// <summary>
/// 手机号码
@@ -7,6 +7,8 @@
{
/// <inheritdoc cref="IPhoneNumber"/>
string? PhoneNumber { get; set; }
public const int Db_MaxLength_PhoneNumber = 20;
}
/// <inheritdoc cref="IPhoneNumber"/>
@@ -94,21 +94,22 @@ namespace System.Application
/// <summary>
/// 中国移动
/// </summary>
public static byte[] ChinaMobile = { 139, 138, 137, 136, 135, 134, 147, 150, 151, 152, 157, 158, 159, 178, 182, 183, 184, 187, 188, 198, 148, 172 };
public static byte[] ChinaMobile = { 139, 138, 137, 136, 135, 134, 147, 150, 151, 152, 157, 158, 159, 178, 182, 183, 184, 187, 188, 198 };
/// <summary>
/// 虚拟运营商
/// </summary>
public static byte[] MobileVirtualNetwork = { 170, 171 };
public static byte[] MobileVirtualNetwork = { 170, 171, 172 };
public static byte[] Other = { 190, 197, 196, 192 };
public static byte[] Other = { 190, 191, 192, 193, 195, 196, 197, 198, 199 };
static Lazy<byte[]> mSummary = new(() => new[]
static readonly Lazy<byte[]> mSummary = new(() => new[]
{
ChinaTelecom,
ChinaUnicom,
ChinaMobile,
MobileVirtualNetwork
MobileVirtualNetwork,
Other,
}.SelectMany(b => b).ToArray());
/// <summary>
@@ -127,7 +128,7 @@ namespace System.Application
/// <summary>
/// 中国大陆地区手机号码号段验证使用 黑名单(<see langword="true"/>) 或 白名单(<see langword="false"/>)
/// </summary>
public static bool ChineseMainlandPhoneNumberSegmentVerifyUseBlacklistOrWhitelist { get; set; }
public static bool ChineseMainlandPhoneNumberSegmentVerifyUseBlacklistOrWhitelist { get; set; } = true;
/// <summary>
/// 中国大陆地区手机号码号段验证(通常仅服务端验证)
@@ -0,0 +1,17 @@
using System.ApplicationModel;
namespace System.ApplicationModel
{
public static class DesktopBridgeHelper
{
public static bool IsDesktopBridge { internal get; set; }
}
}
namespace System
{
partial class DI
{
public static bool IsDesktopBridge => DesktopBridgeHelper.IsDesktopBridge;
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.1;netcoreapp3.1</TargetFrameworks>
+24 -31
View File
@@ -1,4 +1,4 @@
#if !NOT_DI
#if !NOT_DI
using Microsoft.Extensions.DependencyInjection;
#endif
using System.Linq;
@@ -12,7 +12,7 @@ namespace System
/// <summary>
/// 依赖注入服务组(DependencyInjection)
/// </summary>
public static class DI
public static partial class DI
{
#if !NOT_DI
@@ -20,8 +20,6 @@ namespace System
internal static bool IsInit => value != null;
internal static IServiceProvider Value => value ?? throw new NullReferenceException("init must be called.");
/// <summary>
/// 初始化依赖注入服务组(通过配置服务项的方式)
/// </summary>
@@ -76,7 +74,7 @@ namespace System
{
IsRunningOnMono = Type.GetType("Mono.Runtime") != null;
var processArchitecture = RuntimeInformation.ProcessArchitecture;
IsX86OrX64 = processArchitecture == Architecture.X64 || processArchitecture == Architecture.X86;
IsX86OrX64 = processArchitecture is Architecture.X64 or Architecture.X86;
IsArm64 = processArchitecture == Architecture.Arm64;
static Platform RuntimeInformationOSPlatform()
{
@@ -108,7 +106,7 @@ namespace System
#if !NOT_DI
static Exception GetDIGetFailException(Exception e, Type serviceType) => new($"DI.Get fail, serviceType: {serviceType}", e);
static Exception GetDIGetFailException(Type serviceType) => new($"DI.Get* fail, serviceType: {serviceType}");
/// <summary>
/// 获取依赖注入服务
@@ -117,56 +115,51 @@ namespace System
/// <returns></returns>
public static T Get<T>() where T : notnull
{
try
if (value == null)
{
return Value.GetRequiredService<T>();
}
catch (NullReferenceException e)
{
throw GetDIGetFailException(e, typeof(T));
throw GetDIGetFailException(typeof(T));
}
return value.GetRequiredService<T>();
}
/// <inheritdoc cref="Get{T}"/>
public static T? Get_Nullable<T>() where T : notnull
{
try
if (value == null)
{
return Value.GetService<T>();
}
catch (NullReferenceException e)
{
throw GetDIGetFailException(e, typeof(T));
throw GetDIGetFailException(typeof(T));
}
return value.GetService<T>();
}
/// <inheritdoc cref="Get{T}"/>
public static object Get(Type serviceType)
{
try
if (value == null)
{
return Value.GetRequiredService(serviceType);
}
catch (NullReferenceException e)
{
throw GetDIGetFailException(e, serviceType);
throw GetDIGetFailException(serviceType);
}
return value.GetRequiredService(serviceType);
}
/// <inheritdoc cref="Get_Nullable{T}"/>
public static object? Get_Nullable(Type serviceType)
{
try
if (value == null)
{
return Value.GetService(serviceType);
}
catch (NullReferenceException e)
{
throw GetDIGetFailException(e, serviceType);
throw GetDIGetFailException(serviceType);
}
return value.GetService(serviceType);
}
public static IServiceScope CreateScope() => Value.CreateScope();
public static IServiceScope CreateScope()
{
if (value == null)
{
throw new Exception("DI.CreateScope fail.");
}
return value.CreateScope();
}
#endif
}
@@ -0,0 +1,16 @@
using System.Windows.Input;
// ReSharper disable once CheckNamespace
namespace System
{
public static class CommandExtensions
{
public static void Invoke(this ICommand command, object? parameter = null)
{
if (command.CanExecute(parameter))
{
command.Execute(parameter);
}
}
}
}
@@ -0,0 +1,20 @@
using System.Diagnostics;
// ReSharper disable once CheckNamespace
namespace System
{
public static class ProcessExtensions
{
public static ProcessModule? TryGetMainModule(this Process process)
{
try
{
return process.MainModule;
}
catch
{
return null;
}
}
}
}
@@ -1,4 +1,5 @@
namespace System.Extensions
// ReSharper disable once CheckNamespace
namespace System
{
public static partial class StringExtensions
{
@@ -1,4 +1,4 @@
// https://github.com/aspnet/AspNetIdentity/blob/master/src/Microsoft.AspNet.Identity.Core/AsyncHelper.cs
// https://github.com/aspnet/AspNetIdentity/blob/master/src/Microsoft.AspNet.Identity.Core/AsyncHelper.cs
using System.Globalization;
using System.Threading;
using System.Threading.Tasks;
@@ -8,7 +8,7 @@ namespace System
{
public static class TaskExtensions
{
static readonly TaskFactory _myTaskFactory = new TaskFactory(CancellationToken.None,
static readonly TaskFactory _myTaskFactory = new(CancellationToken.None,
TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default);
public static TResult RunSync<TResult>(this Func<Task<TResult>> func)
+15 -1
View File
@@ -1,4 +1,4 @@
namespace System
namespace System
{
/// <summary>
/// 文件扩展名(FileExtensions)
@@ -52,5 +52,19 @@
public const string BIN = ".bin";
public const string APNG = ".apng";
public const string EXE = ".exe";
public const string _7Z = ".7z";
public const string APPX = ".appx";
public const string MSIX = ".msix";
public const string APPX_Bundle = ".appxbundle";
public const string MSIX_Bundle = ".msixbundle";
public const string AppInstaller = ".appinstaller";
}
}
+22 -2
View File
@@ -1,4 +1,5 @@
using System.IO;
using System.Diagnostics.CodeAnalysis;
using System.IO;
#if !NET35 && !NOT_XE
using Xamarin.Essentials;
#endif
@@ -146,6 +147,23 @@ namespace System
#endregion
#region BaseDirectory
static readonly Lazy<string> _BaseDirectory = new(() =>
{
var value = AppContext.BaseDirectory;
var value2 = new DirectoryInfo(value);
if (value2.Parent != null && string.Equals(value2.Name, "Bin", StringComparison.OrdinalIgnoreCase))
{
value = value2.Parent.FullName;
}
return value;
});
public static string BaseDirectory => _BaseDirectory.Value;
#endregion
/// <summary>
/// 获取[文件(File)]资源路径
/// </summary>
@@ -219,8 +237,10 @@ namespace System
return ioPath;
}
public static FileStream OpenRead(string filePath)
[return: NotNullIfNotNull("filePath")]
public static FileStream? OpenRead(string? filePath)
{
if (filePath == null) return null;
var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);
return fileStream;
}
+11 -1
View File
@@ -1,4 +1,4 @@
namespace System
namespace System
{
/// <summary>
/// MIME 类型
@@ -62,5 +62,15 @@
public const string MP4 = "video/mp4";
public const string APNG = "image/apng";
public const string APPX = "application/appx";
public const string MSIX = "application/msix";
public const string APPX_Bundle = "application/appxbundle";
public const string MSIX_Bundle = "application/msixbundle";
public const string AppInstaller = "application/appinstaller";
}
}
@@ -1,4 +1,4 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging;
namespace System.Net.Http
{
@@ -9,7 +9,7 @@ namespace System.Net.Http
{
protected readonly ILogger logger;
protected readonly IHttpPlatformHelper http_helper;
readonly IHttpClientFactory _clientFactory;
protected readonly IHttpClientFactory _clientFactory;
public GeneralHttpClientFactory(
ILogger logger,
@@ -29,9 +29,9 @@ namespace System.Net.Http
protected virtual string? DefaultClientName { get; }
/// <summary>
/// 默认超时时间,19秒
/// 默认超时时间,16秒
/// </summary>
public static readonly TimeSpan DefaultTimeout = TimeSpan.FromSeconds(19);
public static readonly TimeSpan DefaultTimeout = TimeSpan.FromSeconds(11);
static readonly Lazy<int> mDefaultTimeoutTotalMilliseconds = new(() => DefaultTimeout.TotalMilliseconds.ToInt32());
@@ -39,7 +39,7 @@ namespace System.Net.Http
public static int DefaultTimeoutTotalMilliseconds => mDefaultTimeoutTotalMilliseconds.Value;
/// <inheritdoc cref="DefaultTimeout"/>
protected virtual TimeSpan Timeout { get; } = DefaultTimeout;
protected /*virtual*/ TimeSpan Timeout { get; } = DefaultTimeout;
protected virtual HttpClient CreateClient(string? clientName = null)
{
@@ -1,15 +1,15 @@
using System.Globalization;
using System.Globalization;
using System.IO;
using System.IO.FileFormats;
namespace System.Net.Http
{
/// <inheritdoc cref="IHttpPlatformHelper"/>
public class HttpPlatformHelper : IHttpPlatformHelper
public abstract class HttpPlatformHelper : IHttpPlatformHelper
{
const string DefaultUserAgent = "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263";
protected const string DefaultUserAgent = "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263";
public virtual string UserAgent => DefaultUserAgent;
public abstract string UserAgent { get; }
public virtual string AcceptImages => "image/png, image/*; q=0.8";
@@ -0,0 +1,6 @@
using System.Reflection;
using static System.Properties.ThisAssembly;
[assembly: AssemblyFileVersion(Version)]
[assembly: AssemblyInformationalVersion(InfoVersion)]
[assembly: AssemblyVersion(Version)]
@@ -3,11 +3,9 @@ using System.Runtime.CompilerServices;
using static System.Properties.ThisAssembly;
[assembly: SuppressIldasm]
[assembly: AssemblyTitle(AssemblyTrademark)]
[assembly: AssemblyTrademark(AssemblyTrademark)]
[assembly: AssemblyDescription(AssemblyDescription)]
[assembly: AssemblyProduct(AssemblyProduct)]
[assembly: AssemblyCopyright(AssemblyCopyright)]
[assembly: AssemblyCompany(AssemblyCompany)]
[assembly: AssemblyFileVersion(Version)]
[assembly: AssemblyInformationalVersion(InfoVersion)]
[assembly: AssemblyVersion(Version)]
[assembly: AssemblyCompany(AssemblyCompany)]
@@ -0,0 +1,9 @@
namespace System.Properties
{
static partial class ThisAssembly
{
public const string Version = "2.4.1";
public const string InfoVersion = Version /*+ "-beta"*/;
}
}
@@ -1,11 +1,7 @@
namespace System.Properties
{
public static class ThisAssembly
public static partial class ThisAssembly
{
public const string Version = "2.0.0.6";
public const string InfoVersion = Version + "-beta";
#if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER
static readonly Lazy<string> mVersionDisplay = new(() =>
{
@@ -1,4 +1,4 @@
using System;
using System;
using System.Linq;
using System.Text;
@@ -609,6 +609,11 @@ namespace System.Security.Cryptography
public static (byte[] key, byte[] iv) GetParameters(string s)
{
var bytes = Encoding.UTF8.GetBytes(s);
return GetParameters(bytes);
}
public static (byte[] key, byte[] iv) GetParameters(byte[] bytes)
{
var key = Hashs.ByteArray.SHA1(bytes).Concat(Hashs.ByteArray.Crc32(bytes)).ToArray();
var iv = Hashs.ByteArray.MD5(bytes);
return (key, iv);
+4 -2
View File
@@ -1,10 +1,10 @@
using System.Text;
using System.Text;
using System.Threading.Tasks;
namespace System.Security
{
/// <summary>
/// 为键/值对提供简单的安全存储
/// 为键/值对提供简单的安全存储(值类型泛型与非泛型重载方法不兼容)
/// </summary>
/// <remarks>
/// <para>每个平台使用平台提供的本机API来安全存储数据:</para>
@@ -128,6 +128,8 @@ namespace System.Security
}
}
Task<bool> ContainsKeyAsync(string key);
static IStorage Instance => DI.Get<IStorage>();
#endregion
+74 -2
View File
@@ -1,14 +1,18 @@
#if !NOT_MP
#if !NOT_MP
using MessagePack;
#endif
#if !NOT_NJSON
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
using System;
#endif
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Threading;
#if !NOT_NJSON
using static Newtonsoft.Json.JsonConvert;
@@ -147,6 +151,10 @@ namespace System
public static byte[] SMP<T>(T value, CancellationToken cancellationToken = default)
=> MessagePackSerializer.Serialize(value, options: lz4Options, cancellationToken: cancellationToken);
/// <inheritdoc cref="SMP{T}(T, CancellationToken)"/>
public static byte[] SMP(Type type, object value, CancellationToken cancellationToken = default)
=> MessagePackSerializer.Serialize(type, value, options: lz4Options, cancellationToken: cancellationToken);
/// <summary>
/// (Serialize)MessagePack 序列化 + Base64Url Encode
/// </summary>
@@ -279,6 +287,39 @@ namespace System
return MessagePackSerializer.Deserialize<T>(bytes);
#endif
}
#if !NOT_NJSON
static readonly Lazy<JsonSerializerSettings> mIgnoreJsonPropertyContractResolverWithStringEnumConverterSettings = new(GetIgnoreJsonPropertyContractResolverWithStringEnumConverterSettings);
static JsonSerializerSettings GetIgnoreJsonPropertyContractResolverWithStringEnumConverterSettings() => new()
{
ContractResolver = new IgnoreJsonPropertyContractResolver(),
Converters = new List<JsonConverter>
{
new StringEnumConverter(),
},
};
public static JsonSerializerSettings IgnoreJsonPropertyContractResolverWithStringEnumConverterSettings => mIgnoreJsonPropertyContractResolverWithStringEnumConverterSettings.Value;
/// <summary>
/// 序列化 JSON 模型,使用原键名
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static string SJSON_Original(object? value)
=> SerializeObject(value, Formatting.Indented, Serializable.IgnoreJsonPropertyContractResolverWithStringEnumConverterSettings);
/// <summary>
/// 反序列化 JSON 模型,使用原键名
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="value"></param>
/// <returns></returns>
[return: MaybeNull]
public static T DJSON_Original<T>(string value)
=> DeserializeObject<T>(value, Serializable.IgnoreJsonPropertyContractResolverWithStringEnumConverterSettings);
#endif
}
public interface ICloneableSerializable
@@ -328,4 +369,35 @@ namespace System
};
}
}
}
}
#if !NOT_NJSON
namespace Newtonsoft.Json.Serialization
{
/// <summary>
/// 将忽略 <see cref="JsonPropertyAttribute"/> 属性
/// </summary>
public sealed class IgnoreJsonPropertyContractResolver : DefaultContractResolver
{
readonly bool useCamelCase;
public IgnoreJsonPropertyContractResolver(bool useCamelCase = false)
{
this.useCamelCase = useCamelCase;
}
protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
{
var result = base.CreateProperties(type, memberSerialization);
foreach (var item in result)
{
item.PropertyName = item.UnderlyingName == null ? null :
(useCamelCase ?
JsonNamingPolicy.CamelCase.ConvertName(item.UnderlyingName) :
item.UnderlyingName);
}
return result;
}
}
}
#endif
@@ -1,4 +1,4 @@
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.DependencyInjection.Extensions;
using System.Application.Services;
using System.Application.Services.Implementation;
using System.Net.Http;
@@ -19,17 +19,6 @@ namespace Microsoft.Extensions.DependencyInjection
return services;
}
/// <summary>
/// 尝试添加 <see cref="IHttpPlatformHelper"/>
/// </summary>
/// <param name="services"></param>
/// <returns></returns>
public static IServiceCollection TryAddHttpPlatformHelper(this IServiceCollection services)
{
services.TryAddSingleton<IHttpPlatformHelper, HttpPlatformHelper>();
return services;
}
//public static IServiceCollection AddHttpService(this IServiceCollection services, string name)
//{
// // 此函数为添加HTTP服务模板
@@ -1,4 +1,4 @@
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Hosting;
using Microsoft.Win32;
@@ -198,6 +198,12 @@ namespace System.Application
return controller.NotFound();
}
public static IActionResult GetEnv(ControllerBase controller, IWebHostEnvironment environment)
{
var content = $"<h1>{environment.EnvironmentName}</h1>";
return controller.Content(content, MediaTypeNames.HTML);
}
/// <inheritdoc cref="Path2.InitFileSystem(Func{string}, Func{string})"/>
public static void InitFileSystem(IWebHostEnvironment environment)
{
+9 -6
View File
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
@@ -10,6 +10,9 @@
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\InternalsVisibleTo.cs">
<Link>Properties\InternalsVisibleTo.cs</Link>
</Compile>
@@ -29,12 +32,12 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="5.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="5.0.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.6" />
<!--<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="5.0.2" />-->
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.5" />
<PackageReference Include="NLog" Version="4.7.9" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.6" />
<PackageReference Include="NLog" Version="4.7.10" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.12.0" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using System.Application.Repositories;
using System.Linq;
using System.Linq.Expressions;
@@ -49,5 +49,11 @@ namespace System.Security
var result = await DeleteAsync(key);
return result > 0;
}
async Task<bool> IStorage.ContainsKeyAsync(string key)
{
var result = await Get(key).AnyAsync();
return result;
}
}
}
@@ -1,4 +1,4 @@
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.Extensions.Configuration;
+1
View File
@@ -44,6 +44,7 @@
- 目标框架使用 .NET Framework 3.5 并通过 App.config 配置允许在 4.X 中运行 实现在 Windows 上兼容所有的运行库环境
- Launch **启动项**
- ST.Client.Desktop.Avalonia.App **桌面客户端**
- ST.Client.Desktop.Avalonia.App.Bridge* **Desktop Bridge**
- ST.Client.Desktop.Avalonia.Demo.App **桌面客户端(UI演示)**
- ST.Client.Mobile.Droid.App **Android 客户端**
- ST.Client.Mobile.iOS.App **iOS 客户端**
@@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using System.Application.Columns;
using System.Application.Entities;
@@ -64,7 +64,7 @@ namespace System
if (pOrder.IsAssignableFrom(type))
{
modelBuilder.Entity(type, p => p.HasIndex(nameof(IOrder.Order)));
Log.Info(TAG, "IOrder type: {0}", type.FullName);
//Log.Info(TAG, "IOrder type: {0}", type.FullName);
}
#endregion
@@ -73,10 +73,11 @@ namespace System
if (pSoftDeleted.IsAssignableFrom(type))
{
// https://docs.microsoft.com/zh-cn/ef/core/querying/filters
modelBuilder.Entity(type, p => p.HasIndex(nameof(ISoftDeleted.SoftDeleted)));
modelBuilder.Entity(type).HasQueryFilter(SoftDeletedQueryFilter(type));
softDeleted.Add(type);
Log.Info(TAG, "IsSoftDeleted type: {0}", type.FullName);
//Log.Info(TAG, "IsSoftDeleted type: {0}", type.FullName);
}
#endregion
@@ -86,7 +87,7 @@ namespace System
if (pCreationTime.IsAssignableFrom(type))
{
modelBuilder.Entity(type, p => p.Property(nameof(ICreationTime.CreationTime)).HasDefaultValueSql(SQLStrings.SYSDATETIMEOFFSET).IsRequired());
Log.Info(TAG, "ICreationTime type: {0}", type.FullName);
//Log.Info(TAG, "ICreationTime type: {0}", type.FullName);
}
#endregion
@@ -98,7 +99,12 @@ namespace System
modelBuilder.Entity(type, p => p.Property(nameof(IUpdateTime.UpdateTime)).HasDefaultValueSql(SQLStrings.SYSDATETIMEOFFSET).IsRequired());
modelBuilder.Entity(type, p => p.Property(nameof(IUpdateTime.UpdateTime)).ValueGeneratedOnAddOrUpdate()
.Metadata.SetAfterSaveBehavior(PropertySaveBehavior.Save));
Log.Info(TAG, "IUpdateTime type: {0}", type.FullName);
//Log.Info(TAG, "IUpdateTime type: {0}", type.FullName);
}
if (pPhoneNumber.IsAssignableFrom(type))
{
modelBuilder.Entity(type, p => p.Property(nameof(IPhoneNumber.PhoneNumber)).HasMaxLength(IPhoneNumber.Db_MaxLength_PhoneNumber));
}
#endregion
@@ -108,7 +114,7 @@ namespace System
if (pkGuid.IsAssignableFrom(type))
{
modelBuilder.Entity(type, b => b.Property(nameof(IEntity<Guid>.Id)).HasDefaultValueSql(SQLStrings.NEWSEQUENTIALID));
Log.Info(TAG, "INEWSEQUENTIALID type: {0}", type.FullName);
//Log.Info(TAG, "INEWSEQUENTIALID type: {0}", type.FullName);
}
#endregion
@@ -121,6 +127,7 @@ namespace System
public static readonly Type pCreationTime = typeof(ICreationTime);
public static readonly Type pUpdateTime = typeof(IUpdateTime);
public static readonly Type pkGuid = typeof(INEWSEQUENTIALID);
public static readonly Type pPhoneNumber = typeof(IPhoneNumber);
/// <summary>
/// https://docs.microsoft.com/zh-cn/ef/core/modeling/shadow-properties#property-bag-entity-types
/// </summary>
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
@@ -10,6 +10,9 @@
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\InternalsVisibleTo.cs">
<Link>Properties\InternalsVisibleTo.cs</Link>
</Compile>
@@ -23,8 +26,8 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="5.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="5.0.6" />
<PackageReference Include="Z.EntityFramework.Plus.EFCore" Version="5.1.30" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
using Polly;
using Polly;
using SQLite;
using System.Application.Entities;
using System.Collections.Generic;
@@ -10,6 +10,9 @@
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\AssemblyInfo.Version.cs">
<Link>Properties\AssemblyInfo.Version.cs</Link>
</Compile>
<Compile Include="..\Common.CoreLib\Properties\InternalsVisibleTo.cs">
<Link>Properties\InternalsVisibleTo.cs</Link>
</Compile>
@@ -1,4 +1,4 @@
using System.Application.Columns;
using System.Application.Columns;
using System.Runtime.CompilerServices;
namespace System
@@ -78,14 +78,14 @@ namespace System
/// <returns></returns>
public static FormattableString SoftDeleteFromTableNameWhereIdEqual(string tableName, object id)
{
var sql = UpdateFrom + tableName + " set " + nameof(ISoftDeleted.SoftDeleted) + " = 1" + WhereIdEqual_0;
var sql = Update + tableName + " set " + nameof(ISoftDeleted.SoftDeleted) + " = 1" + WhereIdEqual_0;
return FormattableStringFactory.Create(sql, id);
}
/// <summary>
/// "update from "
/// "update "
/// </summary>
public const string UpdateFrom = "update from ";
public const string Update = "update ";
/// <summary>
/// " where Id in ("
+5 -5
View File
@@ -12,17 +12,17 @@
- 🎁 可与已有的 ASP.NET Core MVC、Razor Pages 项目无缝集成。
## 🌐 [ASP.NET Core Blazor 简介](https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-5.0)
Blazor 是一个使用 [.NET](/dotnet/standard/tour) 生成交互式客户端 Web UI 的框架:
Blazor 是一个使用 [.NET](https://docs.microsoft.com/zh-cn/dotnet/standard/tour) 生成交互式客户端 Web UI 的框架:
* 使用 [C#](/dotnet/csharp/) 代替 [JavaScript](https://www.javascript.com) 来创建信息丰富的交互式 UI。
* 使用 [C#](https://docs.microsoft.com/zh-cn/dotnet/csharp/) 代替 [JavaScript](https://www.javascript.com) 来创建信息丰富的交互式 UI。
* 共享使用 .NET 编写的服务器端和客户端应用逻辑。
* 将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。
* 与新式托管平台(如 [Docker](/dotnet/standard/microservices-architecture/container-docker-introduction/index))集成。
* 与新式托管平台(如 [Docker](https://docs.microsoft.com/zh-cn/dotnet/standard/microservices-architecture/container-docker-introduction/index))集成。
使用 .NET 进行客户端 Web 开发可提供以下优势:
* 使用 C# 代替 JavaScript 来编写代码。
* 利用现有的 [.NET 库](/dotnet/standard/class-libraries)生态系统。
* 利用现有的 [.NET 库](https://docs.microsoft.com/zh-cn/dotnet/standard/class-libraries)生态系统。
* 在服务器和客户端之间共享应用逻辑。
* 受益于 .NET 的性能、可靠性和安全性。
* 在 Windows、Linux 和 macOS 上使用 [Visual Studio](https://visualstudio.microsoft.com) 保持高效工作。
@@ -39,7 +39,7 @@ Blazor 是一个使用 [.NET](/dotnet/standard/tour) 生成交互式客户端 We
| [<img src="https://cdn.jsdelivr.net/gh/alrra/browser-logos/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br> Edge / IE | [<img src="https://cdn.jsdelivr.net/gh/alrra/browser-logos/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://cdn.jsdelivr.net/gh/alrra/browser-logos/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://cdn.jsdelivr.net/gh/alrra/browser-logos/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari | [<img src="https://cdn.jsdelivr.net/gh/alrra/browser-logos/src/opera/opera_48x48.png" alt="Opera" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Opera | [<img src="https://cdn.jsdelivr.net/gh/alrra/browser-logos/src/electron/electron_48x48.png" alt="Electron" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Electron |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| Edge 16 / IE 11† | 522 | 57 | 11 | 44 | Chromium 57 |
| Edge 16 / IE 11† | 52 | 57 | 11 | 44 | Chromium 57 |
> 由于 [WebAssembly](https://webassembly.org) 的限制,Blazor WebAssembly 不支持 IE 浏览器,但 Blazor Server 支持 IE 11†。 详见[官网说明](https://docs.microsoft.com/en-us/aspnet/core/blazor/supported-platforms?view=aspnetcore-3.1&WT.mc_id=DT-MVP-5003987)。
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
@@ -0,0 +1,23 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<PlatformTarget>AnyCPU</PlatformTarget>
<TargetFramework>net461</TargetFramework>
<ApplicationManifest>..\..\ST.Client.Desktop.Avalonia.App\Properties\app.manifest</ApplicationManifest>
<AssemblyName>Steam++.Launcher</AssemblyName>
<RootNamespace>System</RootNamespace>
<ApplicationIcon>..\..\ST.Client.Desktop.Avalonia\Application\UI\Assets\Icon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup Condition="'$(Configuration)'=='Debug'">
<Compile Include="..\..\..\resources\ProjectPathUtil.cs">
<Link>ProjectPathUtil.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<Reference Include="System.Windows.Forms" />
</ItemGroup>
</Project>
@@ -0,0 +1,98 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
using System.Text;
using System.Threading;
void main()
{
var mainExePath = Path.Combine(AppContext.BaseDirectory, "Steam++.exe");
if (File.Exists(mainExePath))
{
var args_ = string.Join(" ", args);
var psi = new ProcessStartInfo
{
FileName = mainExePath,
Arguments = args_,
UseShellExecute = false,
};
Process.Start(psi);
}
else
{
#if DEBUG
var src_path = Path.Combine(ProjectPathUtil.projPath, "src");
var bridge_app_path = Path.Combine(ProjectPathUtil.projPath, "src", ProjectPathUtil.ProjectDir_AvaloniaAppBridge);
var bridge_console_path = Path.Combine(ProjectPathUtil.projPath, "src", ProjectPathUtil.ProjectDir_ConsoleAppBridge);
var bridge_app_pack_path = Path.Combine(ProjectPathUtil.projPath, "src", ProjectPathUtil.ProjectDir_ConsoleAppBridgePackage);
if (Directory.Exists(bridge_app_path) && Directory.Exists(bridge_console_path))
{
var debug_pub_path = @"\bin\Debug\Publish\win10-x64";
var release_pub_path = @"\bin\Release\Publish\win10-x64";
StringBuilder s = new();
void EachDirs(string rootPath, params string[] dirs)
{
foreach (var dir in dirs)
{
var files = Directory.GetFiles(dir);
EachFiles(rootPath, files);
var dirs_ = Directory.GetDirectories(dir);
EachDirs(rootPath, dirs_);
}
}
void EachFiles(string rootPath, params string[] files)
{
foreach (var file in files)
{
var includePath = ".." + file.Substring(src_path.Length, file.Length - src_path.Length);
s.AppendFormat(" <Content Include=\"{0}\">", includePath);
s.AppendLine();
var linkPath = "Bin" + file.Substring(rootPath.Length, file.Length - rootPath.Length);
s.AppendFormat(" <Link>{0}</Link>", linkPath);
s.AppendLine();
s.AppendLine(" <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>");
s.AppendLine(" </Content>");
}
}
Dictionary<bool, string> dict = new()
{
{ true, debug_pub_path },
{ false, release_pub_path },
};
foreach (var item in dict)
{
var bridge_app_path2 = bridge_app_path + item.Value;
var bridge_console_path2 = bridge_console_path + item.Value;
if (Directory.Exists(bridge_app_path2) && Directory.Exists(bridge_console_path2))
{
s.AppendLine(" <ItemGroup Condition=\"'$(Configuration)|$(Platform)'=='" + (item.Key ? "Debug" : "Release") + "|x64'\">");
EachDirs(bridge_app_path2, bridge_app_path2);
EachFiles(bridge_console_path2, Directory.GetFiles(bridge_console_path2, "Steam++.Console*"));
s.AppendLine(" </ItemGroup>");
}
}
var value = s.ToString();
Clipboard.SetText(value);
return;
}
#else
#endif
MessageBox.Show("Failed to start, main module not found.", nameof(MessageBoxIcon.Error));
}
}
#if DEBUG
var t = new Thread(main);
t.SetApartmentState(ApartmentState.STA);
t.Start();
#else
main();
#endif
Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

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