DE EN
Windows & .NET C#/.NET Application Setup

Create a C#/.NET Application

FlawDesk supports two C# workflows:

  • Windows apps (WPF, WinForms, console apps) — the build runs on GitHub Actions (Windows runner)
  • NuGet libraries — pack & push to packages.flawdesk.de (private tenant NuGet feed)

Prerequisites

  • A workspace in FlawDesk
  • A GitHub account

1. Create a project & link the repo

1. Sidebar -> + New Project -> name, key, type: Code 2. Create the repo on github.com yourself 3. Project -> ⚙️ -> Code tab -> GitHub repo section -> owner + repo name -> Save

2a. Add a module — Windows app

1. Project -> ⚙️ -> Code tab -> + Add module 2. Fields:

  • Type: windows-app
  • csproj path: e.g. src/MyApp/MyApp.csproj
  • Runtime: win-x64 (default)
  • Publish format: zip / exe / msi

3. Save

2b. Add a module — NuGet library

1. Project -> ⚙️ -> Code tab -> + Add module 2. Fields:

  • Type: nuget-library
  • csproj path: the relative path of the .csproj

3. Save

3. Write the workflow file into the repo

Project -> ⚙️ -> Workflow tab -> "Push to create" — FlawDesk creates the matching GitHub Actions workflow.

4. Trigger a build

1. NavRail -> rocket icon 2. Select the module, set the version and configuration (Release/Debug) 3. Start build

For Windows apps: GitHub Actions builds on a Windows runner, and the artifact lands under _releases////.

For NuGet libraries: dotnet pack + push to packages.flawdesk.de.

Consuming the NuGet feed in other projects

Project -> ⚙️ -> Code tab -> module -> Dependencies section -> + Add -> type NuGet feed -> source kind: flawdesk-packages.

On the next build, nuget.config is materialized automatically with the right credentials.

Common problems

"csproj not found" — provide csproj_path relative to the repo root, including the file name.

"exe format but you get a .zip"PublishSingleFile is missing in the csproj:

<PublishSingleFile>true</PublishSingleFile>

<SelfContained>true</SelfContained>

"NuGet push 409 Conflict" — the version already exists in the feed. Bump the version.

"NuGet push 401 Unauthorized" — the API key has expired. Workspace -> Settings -> FlawDesk Packages -> regenerate the key.