You are here: Start » FIL.NET » Getting Started with FabImage Library .NET

Getting Started with FabImage Library .NET

Requirements

FabImage Library is designed to be a part of applications working under control of the Microsoft Windows operating system. Supported versions are: 7, 8/8.1 and 10 as well as corresponding embedded editions. To build an application using FabImage Library under Microsoft Windows, Microsoft Visual Studio environment is required. Supported versions are: 2015, 2017 and 2019.

SDK Installation

The installation process is required to copy the files to the proper folders, set necessary environment variables and facilitate license loading with License Manager tool, available in the Start Menu. It also helps creating Microsoft Visual Studio applications referencing FilNet.dll assembly.

Directories

FabImage Library .NET is distributed as a managed assemblies (*.dll), available in two versions: for 32-bit and 64-bit systems. Assemblies are located in following directories:

32-bit %FIL_PATH1_0%\bin\Win32\FilNet.dll
%FIL_PATH1_0%\bin\Win32\FilNet.TS.dll
%FIL_PATH1_0%\bin\Win32\FilNet.Designers.dll
%FIL_PATH1_0%\bin\Win32\FilNet.Amr.dll
64-bit %FIL_PATH1_0%\bin\x64\FilNet.dll
%FIL_PATH1_0%\bin\x64\FilNet.Ts.dll
%FIL_PATH1_0%\bin\x64\FilNet.Designers.dll
%FIL_PATH1_0%\bin\x64\FilNet.Amr.dll

where %FIL_PATH1_0% is an environment variable set during FabImage Library installation.

Creating New FIL.NET Project With Project Template

Once the FabImage Library is installed, a new Microsoft Visual Studio project template - FIL.NET Project - appears in the Microsoft Visual Studio New Project and Add New Item dialog boxes (Visual C# » FIL » FIL.NET Project). It is a recommended way of creating a new .NET project that will reference FilNet.dll assembly since all required configurations are set automatically and the application is ready to be compiled targeting both x64 (64bit) and x86 (32bit) platforms.

Creating New FIL.NET Project Manually

It is most important thing when referencing FilNet.dll assembly to choose appropriate library bitness. There are two versions of the FilNet.dll assembly: one for x64 platform and one for x86 platform. Taking that, application must know which assembly to take in all of its configurations. Unfortunately Microsoft Visual Studio in its IDE does not provide conditional referencing of the assemblies and it must be defined manually in application configuration file (*.csproj), e.g. using Condition attribute of the Reference element:

    <Reference Include="Fil.Net" Condition="'$(PlatformName)'=='x64'">
      <HintPath>$(FIL_PATH1_0)\bin\x64\Fil.Net.dll</HintPath>
    </Reference>
	<Reference Include="Fil.Net.TS" Condition="'$(PlatformName)'=='x64'">
      <HintPath>$(FIL_PATH1_0)\bin\x64\Fil.Net.TS.dll</HintPath>
    </Reference>
	<Reference Include="Fil.Net.Designers" Condition="'$(PlatformName)'=='x64'">
      <HintPath>$(FIL_PATH1_0)\bin\x64\Fil.Net.Designers.dll</HintPath>
    </Reference>
    <Reference Include="Fil.Net.Amr" Condition="'$(PlatformName)'=='x64'">
      <HintPath>$(FIL_PATH1_0)\bin\x64\Fil.Net.Amr.dll</HintPath>
    </Reference>
	
    <Reference Include="Fil.Net" Condition="'$(PlatformName)'=='x86'">
      <HintPath>$(FIL_PATH1_0)\bin\Win32\Fil.Net.dll</HintPath>
    </Reference>
    <Reference Include="Fil.Net.TS" Condition="'$(PlatformName)'=='x86'">
      <HintPath>$(FIL_PATH1_0)\bin\Win32\Fil.Net.TS.dll</HintPath>
    </Reference>
    <Reference Include="Fil.Net.Designers" Condition="'$(PlatformName)'=='x86'">
      <HintPath>$(FIL_PATH1_0)\bin\Win32\Fil.Net.Designers.dll</HintPath>
    </Reference>
    <Reference Include="Fil.Net.Amr" Condition="'$(PlatformName)'=='x86'">
      <HintPath>$(FIL_PATH1_0)\bin\Win32\Fil.Net.Amr.dll</HintPath>
    </Reference>

To have the built application work properly, besides FilNet.dll assembly there must be also native FIL.dll library present in the application directory. This can be achieved with PostBuildEvent which will copy appropriate version of the FIL.dll library:

    <PostBuildEvent Condition="'$(PlatformName)'=='x86'">
        xcopy /D /Y "$(FIL_PATH1_0)\bin\Win32\fil.dll" "$(TargetDir)"
    </PostBuildEvent>
    <PostBuildEvent Condition="'$(PlatformName)'=='x64'">
        xcopy /D /Y "$(FIL_PATH1_0)\bin\x64\fil.dll" "$(TargetDir)"
    </PostBuildEvent>
Next: Relation between FIL.NET and FIL/C++