This project requires .NET 9.0.303 as specified in global.json.
❌ Local Environment Issue: .NET 9.0 SDK is not currently installed in this environment.
$ dotnet --version
The command could not be loaded, possibly because:
* You intended to execute a .NET application:
The application '--version' does not exist.
* You intended to execute a .NET SDK command:
A compatible .NET SDK was not found.
Requested SDK version: 9.0.303
global.json file: /home/runner/work/FlinkDotnet/FlinkDotnet/global.json
Installed SDKs:
8.0.118 [/usr/lib/dotnet/sdk]
Install the [9.0.303] .NET SDK or update [/home/runner/work/FlinkDotnet/FlinkDotnet/global.json] to match an installed SDK.To properly test locally, please install .NET 9.0 SDK:
chmod +x ./dotnet-install.sh
./dotnet-install.sh --version 9.0.303Visit: https://dotnet.microsoft.com/download/dotnet/9.0
# Add Microsoft package repository
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# Install .NET 9.0 SDK
sudo apt update
sudo apt install -y dotnet-sdk-9.0After installing .NET 9.0, verify the environment:
# Verify .NET version
dotnet --version # Should return 9.0.x
# Verify Aspire workload (required for LocalTesting)
dotnet workload list # Should show aspire installed
# If Aspire not installed:
dotnet workload install aspire
# Build all solutions
dotnet build FlinkDotNet/FlinkDotNet.sln --configuration Release
dotnet build Sample/Sample.sln --configuration Release
dotnet build LocalTesting/LocalTesting.sln --configuration Release
# Test LocalTesting workflow
./test-aspire-localtesting.ps1 -MessageCount 1000Once .NET 9.0 is installed, run these workflows locally to ensure they pass:
- Build Workflow:
dotnet build - Unit Tests: Run all test projects
- Integration Tests: Kafka connector tests
- LocalTesting: Aspire orchestration with Docker
- Stress Tests: Performance validation
✅ Completed:
- Removed all committed
bin/andobj/build artifacts - Added comprehensive PyFlink vs FlinkDotNet architecture comparison
- Documented dependency differences and communication patterns
Key Findings:
- PyFlink: Direct JVM integration via Py4J, CloudPickle, python-dateutil
- FlinkDotNet: HTTP REST API integration via AspNetCore, System.Text.Json, HttpClient
- Different approaches: PyFlink = embedded runtime, FlinkDotNet = service-oriented architecture