Skip to content

Development

gbakeman edited this page Apr 15, 2023 · 16 revisions

Code

Development Environment Setup

This project is built for .NET Framework 4.8, which is supported up to Visual Studio 2022.

Get the latest version of Visual Studio (Community, Free)

The WinNUT project is currently built in Visual Studio 2022. You can download the Community edition for free. Install recommended extensions as needed for your purposes.

Build & Release Procedure

The Assembly version is automatically incremented, as defined in SharedAssemblyInfo.vb. The build number is automatically set as the number of days since January 1 2000, and the revision is the number of seconds since midnight divided by two. Major and minor versions are determined manually.

When releasing, make a Release build and check the version of the client after it's built. Edit the properties of the WinNUT-Setup project:

  • Update Version to the major.minor.build of the built client assembly
  • Let the Product and PackageCodes be regenerated

Commit the Setup project changes (and any other uncommitted changes) in git, and tag the commit with the version in the format vmajor.minor.build. Push and merge forks as necessary. Build the Setup project (in Release mode), then upload that and an archive of the client build output to a new GitHub release.

Recommended Extensions

Translations

This program uses the Multilingual App Toolkit 4.0 to provide translation support.

Applying translations

When a translation CSV is updated in the Translations/ folder, some manual work needs to be done in order to apply the translation to the program.

  1. Open the CSV file in an editor (Excel), and the related *.xlf file in the Multilingual toolkit.
  2. Copy and paste new/changed translations to their equivalent resource in the multilingual toolkit.
  3. Build the solution and make sure all resource files have been automatically updated.

Useful links

Clone this wiki locally