Introduction

Starcounter 3.0.0 Alpha 20190701, codenamed Nova, is available for public preview.

Please make sure to read our End User License Agreement for Starcounter Software.

Starcounter 3.0 main focus

  • Support Linux & Windows operating systems.

  • Provide seamless integration with standard .NET Core applications:

    • .NET Core Console applications.

    • .NET Core Web applications with Kestrel web server.

    • .NET Core Desktop applications.

  • Support development experience with standard dotnet CLI tooling.

Requirements

Note: Due to the preview state of this release we cannot provide any guarantees, but we monitor our GitHub: Starcounter/Home issue tracker and stand ready to assist with any potential issues.

Installation

Note: This section assumes that you have required operating system and .NET Core 3.0.100-preview6-012264 SDK installed.

Binaries

  • Create a folder for Starcounter binaries, for example Starcounter.3.0.0-alpha-20190701.

  • Download Starcounter.3.0.0-alpha-20190701.zip into the folder.

  • Unzip downloaded archive into the folder.

Ubuntu 18.04

Install prerequisites.

Starcounter relies on a specific version of SWI-Prolog.

Download and unpack Starcounter binaries.

Application

Create an application folder and initialize a .NET Core console application.

All the following commands shall be executed from the StarcounterConsoleSample folder.

Setup NuGet to consume Starcounter packages feeds.

Create nuget.config file and add required package sources:

  • local, points to the Starcounter binaries folder.

  • Starcounter, points to https://www.myget.org/F/starcounter/api/v2.

NuGet tips:

  • Default NuGet.config file can be created with dotnet new nugetconfig command.

  • For more information on how to work with NuGet configurations, see this post by Microsoft.

End file should look similar to this:

Visual Studio Setup:

Visual Studio requires manual NuGet package sources configuration. For this go to the Tools → Options → NuGet Package Manager → Package Sources menu then add local and Starcounter feeds.

Note: Replace the [Starcounter.3.0.0-alpha-20190701] value with actual path to the folder with unzipped Starcounter binaries.

Add Starcounter.Nova.App package reference

Add minimal Starcounter database access

Replace content of the Program.cs file with the following:

For ASP.NET Core application:

Update Startup.cs class with the following:

Note: Starcounter works with Kestrel Web Server only. IIS and IIS Express are not yet supported.

Install Starcounter dotnet CLI tool and create database

Now there will be a Starcounter database located in the StarcounterConsoleSample/.stardata folder.

Start database and application

Start the database.

Run the application.

Running with Visual Studio Code

  • Open Visual Studio Code in the application folder (from command line: code ./).

  • Restore dependencies Visual Studio Code asks for.

  • Click Ctrl + F5 to start the application.

Everything should run out of the box.

Running with Visual Studio 2019

  • Update Visual Studio 2019 to the latest version using Visual Studio Installer.

  • We checked version 16.1.5 (as of July 3 2019).

  • Open Tools → Options and enter "preview" in the search box.

  • In Environment → Preview Features check Use previews of the .NET Core SDK and restart Visual Studio.

  • Open StarcounterConsoleSample.csproj from Visual Studio.

  • Set the debug path in Project properties → Debug → Working directory to the path of the project. E.g. C:\StarcounterSamples\StarcounterConsoleSample.

  • Click Ctrl + F5 to start the application.

It is also possible to set working directory in the .csproj file by adding the following:

Extra information

Before asking questions or reporting issues, please read these few lines, and maybe you will find an answer for your question.

  • Currently there is no database tooling available except the bare minimum of dotnet star new and dotnet star start commands.

  • Currently it is only possible to start the database manually.

  • Currently it is only possible to store the database files in the default .stardata folder.

  • Currently it is not supported to have a dot (.) in the application name. For example app may use CompanyApplication as it's name, but Company.Application is not supported.

  • Starting from Starcounter 3.0.0 beta, all required packages will be uploaded to one of the popular providers, such as NuGet.org, MyGet.org or GitHub Package Registry.

  • Base namespace will be changed from Starcounter.Nova to just Starcounter.

  • It is recommended to define all database classes and properties as abstract to reduce memory footprint when compared to virtual. Support for virtual properties might be removed in the future.

  • Packing with dotnet pack and publishing with dotnet publish are not yet implemented for applications which use Starcounter database.

Last updated