1## Microsoft Windows
2
3### Developing a .Net Framework application
4To develop a .Net Framework application that uses LibCecSharp:
5* download the latest binary version from [our website](http://libcec.pulse-eight.com/Downloads)
6* add a reference to LibCecSharp.dll for the target architecture (x86/amd64). It's installed to `C:\Program Files (x86)\Pulse-Eight\USB-CEC Adapter\netfx` by default
7* the minimum .Net Framework version required for LibCecSharp is 4.0
8
9An example implementation can be found on [Github](https://github.com/Pulse-Eight/cec-dotnet/tree/master/src/CecSharpTester/netfx/).
10
11### Developing a .Net Core application
12To develop a .Net Core application that uses LibCecSharp:
13* download the latest binary version from [our website](http://libcec.pulse-eight.com/Downloads)
14* add a reference to LibCecSharpCore.dll for the target architecture (x86/amd64). It's installed to `C:\Program Files (x86)\Pulse-Eight\USB-CEC Adapter\netcore` by default
15* the minimum .Net Core version required for LibCecSharpCore is 3.1
16
17An example implementation can be found on [Github](https://github.com/Pulse-Eight/cec-dotnet/tree/master/src/CecSharpTester/netcore/).
18
19### Prerequisites
20To compile libCEC on Windows, you'll need the following dependencies:
21* [p8-platform](https://github.com/Pulse-Eight/platform) 2.0 or later
22* [cmake 3.12 or newer](http://www.cmake.org/)
23* [Visual Studio 2019 (v16) or newer](https://www.visualstudio.com/), with the following options selected: Universal Windows Platform development, Desktop development with C++, .NET Core cross platform development
24* [.Net Core 3.1](https://dotnet.microsoft.com/download/dotnet-core/3.1)
25* To create an installer, you'll need [Nullsoft's NSIS](http://nsis.sourceforge.net/)
26* You also need two versions of Python to build an installer: [Python 2.7.13 for x86](https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi), required by the EventGhost plugin and [Python 3.6 or newer for x64](https://www.python.org/)
27
28### Visual Studio
29The build scripts have been configured for building with Visual Studio 2019. To use another version Visual Studio, pass the verion number as parameter: `windows\visual-studio.cmd 2019`
30
31### Compilation
32To only compile libCEC, follow these instructions:
33* `git submodule update --init --recursive`
34* run `windows\build-all.cmd` to build libCEC and LibCecSharp
35
36To develop for libCEC in Visual Studio:
37* `git submodule update --init --recursive`
38* run `windows\visual-studio.cmd`
39
40To build an installer on Windows:
41* `git submodule update --init --recursive`
42* run `windows\create-installer.cmd`
43* the installer is stored as `build\libCEC-VERSION.exe`
44