Search Results for

    Show / Hide Table of Contents

    Dotnet Templates

    actionETL provides dotnet new C# templates for easily creating new actionETL applications, as well as adding the library to an existing application.

    Note

    The templates support .NET Framework, .NET Standard, .NET Core, and .NET 5, as well as both Windows and Linux.

    Install .NET Core SDK

    If a .NET Core SDK (v2.1 or later) is not already installed on your development computer, please Install the .NET Core SDK. This provides the dotnet new command line tool, which is used to manipulate the templates (including for .NET Framework).

    Install actionETL Templates

    The actionETL templates reside in the actionETL.templates.dotnet NuGet package on nuget.org, and must be installed (once) by each developer, before the templates can be applied. You can also use the same command to update the template to the most recent version:

    dotnet new --install actionETL.templates.dotnet
    

    You can list the locally installed templates, which should now include two actionETL templates:

    dotnet new --list
    
    Templates                     Short Name              Language      Tags
    ---------                     ----------              --------      ----
    Console Application           console                 [C#], F#, VB  Common/Console
    (...)
    actionETL C# console project  actionetl.console       [C#]          actionETL/Console/ETL
    actionETL C# add to project   actionetl.addtoproject  [C#]          actionETL/ETL
    (...)
    

    Use actionETL Templates

    You can now use the installed templates described below.

    Important

    Get a FREE Community license, a free 30-day trial license, or a commercial license, and add it to the "actionetl.license.json" license file in any new actionETL project.

    Note

    Apart from the below command line approach, you can also use the actionETL templates in Visual Studio 2019 v16.9 or later by following these instructions.

    actionetl.console

    Use this template to create a new .NET Core 3.1 project actionETL console project from scratch, taking its name from the output directory:

    dotnet new actionetl.console --output my-etl
    

    To build and run the project:

    cd my-etl
    dotnet run
    

    The generated code is the same as the FileExists sample, a simple worker system with a single worker. Use it as a starting point for your own actionETL development.

    To list target framework options (and general help text):

    dotnet new actionetl.console --help
    
    Usage: new [options]
    
    Options:
      -h, --help          Displays help for this command.
      -l, --list          Lists templates containing the specified name. If no name
                          is specified, lists all templates.
      -n, --name          The name for the output being created. If no name is
                          specified, the name of the current directory is used.
      -o, --output        Location to place the generated output.
      -i, --install       Installs a source or a template pack.
      -u, --uninstall     Uninstalls a source or a template pack.
      --nuget-source      Specifies a NuGet source to use during install.
      --type              Filters templates based on available types. Predefined 
                          values are "project", "item" or "other".
      --dry-run           Displays a summary of what would happen if the given command
                          line were run if it would result in a template creation.
      --force             Forces content to be generated even if it would change 
                          existing files.
      -lang, --language   Filters templates based on language and specifies the 
                          language of the template to create.
      --update-check      Check the currently installed template packs for updates.
      --update-apply      Check the currently installed template packs for update, and 
                          install the updates.
    
    
    actionETL console project (C#)
    Author: Envobi Ltd
    Options:
      -f|--framework  The target framework for the project.
            net461           - Target .NET Framework 4.6.1
            net462           - Target .NET Framework 4.6.2
            net47            - Target .NET Framework 4.7
            net471           - Target .NET Framework 4.7.1
            net472           - Target .NET Framework 4.7.2
            net48            - Target .NET Framework 4.8
            netcoreapp2.1    - Target .NET Core 2.1
            netcoreapp2.2    - Target .NET Core 2.2
            netcoreapp3.0    - Target .NET Core 3.0
            netcoreapp3.1    - Target .NET Core 3.1
            net5.0           - Target .NET 5.0
        Default: netcoreapp3.1
    

    To instead create a .NET Framework 4.6.1 project:

    dotnet new actionetl.console --output my-etl --framework net461
    
    Note

    This template uses the new SDK project file format. To instead get a (.NET Framework) non-SDK style project file, use the Microsoft "console" template to create a new project, and then apply the below actionetl.addtoproject template to that project.

    actionetl.addtoproject

    Use this template to add actionETL to an existing (non-actionETL) project:

    dotnet new actionetl.addtoproject --output my-project
    

    The created code is similar to the FileExists sample, but is wrapped in an Etl static class that runs the worker system.

    Important

    For this template, you must also perform these manual steps:

    In Visual Studio, set the properties of the files "actionetl.aconfig.json", "actionetl.license.json" "nlog.config" to be 'Content' and 'Copy If Newer'.

    Alternatively, edit the "*.csproj" file directly and add:

    <ItemGroup>
        <Content Include="actionetl.aconfig.json">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
        <Content Include="actionetl.license.json">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
        <Content Include="nlog.config">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
    </ItemGroup>
    

    Also see the "Etl.cs" file which includes the worker system code and an example of how to call it from the rest of your application.

    Furthermore, as an optional step if this is a batch application without low-latency requirements, you can improve dataflow performance by configuring memory settings, please see the instructions at .NET Run-time Settings.

    See Also

    • Common Tasks
    • Release Notes
    • Getting Started
      • System Requirements
      • Add actionETL Manually
      • Samples
      • Deploying Applications
      • Development Guidelines
    • Worker System
      • Configuration
      • Logging
      • Licensing
    In This Article
    Back to top Copyright © 2021 Envobi Ltd