-
-
Notifications
You must be signed in to change notification settings - Fork 120
Building from source code
Note: Normal users download from Releases.
Building a release is only intended for developers. The only official place to get official builds is from the link above.
Do note that all of the project's NuGet packages will be downloaded upon the first build or when the project is opened (Depending on your IDE). This list will likely not be updated with the project, until the odd time that I remember. So do keep in mind that this list is likely out-of-date.
- Microsoft.Web.WebView2 used for displaying contents from the server.
- Gameloop.Vdf used for working with Steam.
- Gameloop.Vdf.JsonConverter same as above.
- HtmlAgilityPack used for collecting info from Overwatch for the BattleNet account switcher.
- Magick.NET-Q8-AnyCPU used for creating icons for Desktop Shortcuts.
- Newtonsoft.Json used for LOTS throughout the project.
- Svg.Skia used for creating icons for Desktop Shortcuts.
- System.Drawing.Common used in multiple places throughout the project.
- Newtonsoft.Json used for LOTS throughout the project.
- SevenZipExtractor for extracting update patches.
- VCDiff for applying and creating update patches.
- Newtonsoft.Json used for LOTS throughout the project.
You can Build using both Debug and Release. Just make sure x64 is selected.
Building TcNo-Acc-Switcher-Client
should build everything.
If you're not sure, or it's not working as expected: Build the C++ binaries first (_First_Run_Installer
, _Wrapper
) then Globals
, Tray
& Updater
, Server
then finally Client
.
The compiled files will be found in: TcNo-Acc-Switcher-Client\bin\x64\Debug
or TcNo-Acc-Switcher-Client\bin\x64\Release
-
7-Zip.CommandLine (18.1.0) unzipping stored contents and updates. (This package only downloads
7za.exe
andLicense.txt
. Those need to be added to Resources) - Newtonsoft.Json (12.0.3) for storing/loading persistent data.
- System.Drawing.Common (4.7.0) Validating profile images are not corrupt (IsValidGdiPlusImage)
- TaskScheduler (2.8.19) Creating/Removing Tray autostart. Using Tasks allows it to start as Admin without UAC.
You can Build, but for releases I use the Publish functionality.
1. Right-click Solution TCNO-Acc-Switcher-CSharp-WPF and hit "Build Solution".
2. Create a new profile for x32 or x64 with the following settings:
Configuration: Release | <x32\x64>
Target Framework: Framework 4.8
Deployment Mode: Framework Dependent
Target Runtime: <win-x32\win-x64>
Target Location: (Anywhere, but I combine them into: Build\<Release\Debug>\<x86\x64>)
- Newtonsoft.Json (12.0.3) for storing/loading persistent data.
-
7-Zip.CommandLine (18.1.0) unzipping stored contents and updates. (This package only downloads
7za.exe
andLicense.txt
. Those need to be added to Resources)
You can Build, but for releases I use the Publish functionality.
1. Right-click TCNO-Acc-Switcher-CSharp-WPF and hit "Publish".
2. Create a new profile for x32 or x64 with the following settings:
Configuration: Release | <x32\x64>
Target Framework: netcoreapp3.0
Deployment Mode: Framework Dependent
Target Runtime: <win-x32\win-x64>
Target Location: (Anywhere, but I leave it default: bin\<x32\x64>\Release\netcoreapp3.0\publish)
3. I usually delete TcNo Account Switcher.runtimeconfig.dev.json
as it seems to not be required.
- Curl (release uses 7.67.0) - Download, Build guide: https://youtu.be/q_mXVZ6VJs4
- Visual Studio, with .NET Core. Visual Studio will need admin to debug, as TcNo Account Switcher needs admin to run.
The solution TCNO-Acc-Switcher-CSharp-WPF.sln
is located in ".\TCNO-Acc-Switcher-CSharp-WPF".
"TcNo-Acc-Switcher-Updater" is the auto-updater. Once built, it is 7-Zip'd and a new build replaces the update32.7z
or update64.7z
file in Resources.
All trademarks and materials are the property of their respective owners and their licensors. This project is not affiliated with any companies referenced. This is not "Official" software or related to any companies mentioned. All it does is let you move your files around on your computer the same way you can. The use of names, icons and trademarks does not indicate endorsement of the trademark holder by this project or its creators, nor vice versa. They are only used to visually indicate which programs this project interacts with easily to the end-user.
By enabling optional features that scrape the web for publically available information (such as limited game/profile statistics and other data), you understand and accept full responsibility for doing so on your own volition. If you appreciate accurate information, support the services providing it directly. The information collected is incredibly limited and is no replacement or competitor for sites scraped.
I am not responsible for the contents of external links. For the rest of the disclaimer, refer to the License (GNU General Public License v3.0) file: https://github.com/TcNobo/TcNo-Acc-Switcher/blob/master/LICENSE - See sections like 15, 16 and 17, as well as GitHub's 'simplification' at the top of the above website.