Skip to content

How to build

Michael Jahn edited this page Jun 11, 2018 · 1 revision

ZXing.Net can be build for different .Net platforms. Some of the targets need special version of Visual Studio and/or .Net framework SDK.

  • Main development uses Visual Studio 2017. The solution file is zxing.vs2017.sln. The following targets can be build:
    • all supported versions of .Net Standard
    • full .Net versions 2.0 to 4.7
    • .Net portable
    • special Unity version
    • UWP version
    • all bindings to other imaging libraries
    • all clients/demo apps which are supported by VS 2017
    • all documentation files (some of them need a prior build of the library with an older Visual Studio)
  • The following targets have to be build with Visual Studio 2015 and the solution file zxing.vs2015.sln
    • Silverlight 5
    • Windows Phone 8
    • WinRT
    • all clients/demo apps for Silverlight and Windows Phone 8
  • The following targets have to be build with Visual Studio 2015 and the solution file zxing.monoandroid.sln
    • Monodroid
    • all clients/demo apps for Monodroid
  • The following targets have to be build with Visual Studio 2010 and the solution file zxing.sln
    • Silverlight 4
    • Windows Phone 7.x
    • all clients/demo apps for Silverlight 4 and Windows Phone 7.x
  • The following targets have to be build with Visual Studio 2008 and the solution file zxing.ce.sln
    • .Net framework CE 2.0 and 3.5
    • all clients/demo apps for .Net framework CE

Prerequisits

Some targets need special SDKs installed. It depends on the target which you want to build.

  • .Net Core SDK
  • .Net Framework SDKs for the different targets and the appropriate Targeting Pack
  • Silverlight 4 and/or 5 SDK
  • Windows Phone SDKs
  • .Net Compact Framework 2.0/3.5
  • Sandcastle Helpfile Builder for documentation files

Preparation

Some targets build strong named assemblies. For that projects there has to be a file called private.snk in the Key subfolder. If you don't want to use an own key you can copy the dummy-private.snk as private.snk. Some projects using a pre-build step to do it for you.

Solution configuration

All solutions are using the default configuration Release and Debug. The solution for Visual Studio 2017 has an additional configuration Release with documentation which is used for the deployment builds of the project.

Destination

All targets but .Net Core and the bindings are build to the subfolder Build.

Distribution

The script build_deployment.cmd can be used to build the distribution packages (Nuget, ZIP archives). It does some base validations of the assemblies and tries to create the packages automatically.