YodaDrive Development Environment
This document describes setting up a development environment for YodaDrive. YodaDrive is a WebDAV driver for Windows, written in C#. Development of YodaDrive requires a Windows development environment with Visual Studio Community 2017 or better.
Virtual Machine
A Windows development environment, if not already available, can be installed on a virtual machine in Azure (Standard B2ms
, 2 CPUs, 8 GB memory) or another cloud provider. If creating a VM in the cloud, make sure to restrict RDP access by IP address, or the machine will be hacked in short order even when kept fully up-to-date.
Visual Studio
Visual Studio Community 2019 is sufficient for development of YodaDrive, since YodaDrive is open source.
Make sure that the following components are included for installation:
- .NET Desktop Development
- .NET Framework 4.6.1 development tools
WinFsp
WinFsp is a FUSE-like driver for Windows, which is required by YodaDrive. The version to install is 2019.3 B2
or later, and must match the version used by YodaDrive.
WinFsp must be installed manually. Installing it as part of YodaDrive is not sufficient, since the Developer
option must be selected during installation.
YodaDrive
Within VS2019, clone from https://github.com/UtrechtUniversity/YodaDrive.git. Then open the KS2Drive.sln
solution.
Development
YodaDrive is an open source project, which inherits from KS2.Drive. Main development takes part on the development
branch. Everything specific to YodaDrive is on the feature/yoda-rebranding
branch.
When buiding a YodaDrive release, switch to the feature/yoda-rebranding
branch, merge the latest changes from the development
branch if needed, and update the version number in About/About.xaml
.
WinFsp dependency files for YodaDrive distributable
The distributable for YodaDrive can be made to automatically install the proper version of WinFsp as part of the installation process. In order to build the distributable properly, the following has to be done first:
- checkout branch
feature/yoda-rebranding
- copy the
Reference/WinFsp*_*
folder toC:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages
- reboot the machine
- start Visual Studio
- verify that WinFsp is listed among the requirements for publication
Developer code signing
The YodaDrive distributable should be signed with the appropriate code signing key. The person in charge of this can install the key within Visual Studio, so that it can automatically sign releases thereafter.
Publication
Publication will generate Application Files
, KS2Drive.application
and setup.exe
in the output directory C:\OutputKS2Drive
. These can then be archived in a ZIP file for distribution.