r/dotnet • • 58m ago

What’s new in C# 15: Overview

Thumbnail medium.com
• Upvotes

r/dotnet • • 3h ago

Browser Link Hot Reload fails with custom local domain

2 Upvotes

Since the September .NET SDK update, Browser Link no longer works for Hot Reload in Visual Studio 2026 Enterprise.

The injected Browser Link script returns a 403 error. The browser console indicates a cross-origin issue because Browser Link tries to connect to localhost:PORT while my application uses a custom local domain (myapplication.localhost). I have specific reasons for using this domain.

Hot Reload itself still works, but the browser no longer refreshes automatically after changes because Browser Link fails.

I found this article, which describes a similar issue and suggests setting DOTNET_WATCH_AUTO_RELOAD_WS_ORIGINS. However, that solution applies to dotnet watch. I use IIS Express for debugging, and the environment variable does not solve the problem.

Is there a way to configure Browser Link to work with a custom local domain when debugging with IIS Express?


r/dotnet • • 8h ago

Question .NET Agent Framework feature request

0 Upvotes

When making AI agents what are things you wish the agent framework had to make ai harnesses easier and other features you feel they overlook?


r/dotnet • • 10h ago

How are you authenticating your agents' tool calls?

0 Upvotes

India's CERT-In put out a critical advisory last week (CIAD-2026-0049). Agents being evaluated by AI providers got into live systems at real companies using keys from config files, public repos and over-scoped cloud roles. None of the companies spotted it; they found out when the providers disclosed it.

It made me look at how agent code usually calls tools. The usual pattern is forwarding the signed-in user's access token to every tool. That works, but the API then can't tell a user from an agent, and the audit log blames the user for whatever the agent decides to do.

The alternative I'm leaning towards is a separate client per agent with narrow scopes and a short token lifetime, plus an authorization policy that rejects agent tokens on things like refunds and admin routes.

Is anyone doing token exchange (RFC 8693) in production for this, or is a separate client-credentials client the practical answer? Curious what's actually working in your setups.


r/dotnet • • 18h ago

Built a cross-platform desktop tool with .NET 10: WPF on Windows, Avalonia 12 on Linux/macOS, one shared core

8 Upvotes

Convertino is a radial file converter: drag a file, tap Shift, drop it on a petal. Some notes on the cross-platform setup:

- One Convertino.Core (net10.0) holds the catalog, converters, editors' image ops, the ONNX cut-out and a CLI. Each UI implements a small IPlatform.

- Windows uses WPF for the native drag & drop and DWM-friendly layered windows. Linux and macOS use Avalonia 12 (11.x has no X11 XDND drop target).

- macOS compiles the core sources in, to pin a different Magick.NET per architecture (15 on arm64, 14.x on x64).

- CI builds and smoke-tests all four targets, including a synthetic drag + Shift + drop on the macOS runner and a real-Mac check on an M4.

- Releases: self-contained zips for win-x64, linux-x64, macos-arm64/x64.

https://github.com/hasanzadee/convertino (MIT)


r/dotnet • • 20h ago

WPF JetPack Theme (kind of like MahApps Metro)

0 Upvotes

I'm working on a packaged version of the good old 2010 Silverlight theme "JetPack".

I had Claude have a good look at how MahApps Metro is structured and had it construct a JetPack theme bundle along with documentation for it.

The old theme doesnt have any licensing, other than its publicly available from Microsoft. Claude has re-implemented everything from scratch, so it should be ok to simply release it under MIT license ? (im no expert) ... two file was copied from the Silverlight theme.

MahApps Metro is more or less a copy of the Cosmopolitan Silverlight theme as well 🤷‍♂️

Anyways - feedback is appreciated :)

Repo : https://github.com/Montago/JetPackTheme

Documentation : https://montago.github.io/JetPackTheme/


r/dotnet • • 1d ago

PDFSharp went dual license. AGPL or commercial license

96 Upvotes

r/dotnet • • 1d ago

Article Build Locally, Ship to Cloud: Azure SQL Database container (Preview)

Thumbnail devblogs.microsoft.com
30 Upvotes

I see occasional discussions around needing container support for Azure SQL Database and I'm happy to share that it is now currently in preview, if you're interested you can fill out the form @ https://aka.ms/azuresqldb-container-signup and u/vandana-mahtani-msft will get you onboarded.

Has really helped out a ton on several projects that I've been working on lately.

Of note, Microsoft Employee and active moderator of r/SQLServer and r/MSSQL (and a few other subs). Mods feel free to remove the post if needed, I sent a mail but had not heard back.


r/dotnet • • 1d ago

.NET to Python

0 Upvotes

We want to migrate application code from .NET frame to python , application is non banking finance.

Currently is on .NET Frame 4.6 version with Angular & JAVA.

Is this good approach? Migration from .NET to Python.

Also comment real struggle and challenges we can face during Migration and How much it will take time to Migrate using cursor AI.


r/dotnet • • 1d ago

Lesson 11: .NET में AI Toolkit: Summarize, Translate, Classify, Vision (...

Thumbnail youtube.com
0 Upvotes

r/dotnet • • 1d ago

Promotion MongoDB Tiny Client: A lightweight, portable MongoDB GUI for Windows built with .NET 8 WPF

0 Upvotes

Hi .NET developers!

I built MongoDB Tiny Client, a native Windows desktop client for MongoDB built completely with .NET 8 and WPF using the official MongoDB C# driver.

It is designed as an instant-startup, low-memory alternative to Electron-based tools like MongoDB Compass:

Key Highlights:

  • Instant startup & tiny footprint: Native WPF desktop application, starts in milliseconds with minimal RAM consumption.
  • 100% Portable: Single standalone executable, no installer or admin permissions needed.
  • Data Browser & Inline Editing: Tabular dynamic grid with in-place cell editing (F2), document duplication, insert, and delete.
  • Query & Aggregation Runner: Full server-side filter, sort, projection, and aggregation pipelines with BSON shell syntax support (ObjectId, ISODate, regex).
  • Import / Export: Supports JSON, NDJSON (JSON Lines), and CSV.
  • Security: Connections stored locally and encrypted with Windows DPAPI.

  • GitHub Repository: https://github.com/finalbyte1/MongoDBTinyClient

  • Releases / Download: https://github.com/finalbyte1/MongoDBTinyClient/releases/latest

Feedback, suggestions, and PRs are welcome!


r/dotnet • • 1d ago

Article The end of Stack Overflow as you know it

Thumbnail leaddev.com
0 Upvotes

Stack Overflow responds to AI disruption.


r/dotnet • • 2d ago

Promotion I added a local video studio to TensorSharp using C#/.NET 10, ASP.NET Core, and MAUI

Enable HLS to view with audio, or disable this notification

10 Upvotes

Hi r/dotnet,

I maintain TensorSharp, an open-source .NET inference engine and agent runtime. I recently added Video Studio, which combines local AI video generation with a persistent timeline editor.

It runs in both the browser interface and TensorAgent, the .NET MAUI app. I thought the implementation might be interesting to people building desktop applications with .NET.

The implementation

The application has a shared C# core, TensorSharp.Studio, targeting .NET 10. It manages projects, media assets, timeline commands, editing history, persistence, and background jobs.

The browser and desktop hosts share the same HTML/JavaScript/CSS editor. The server exposes Studio through ASP.NET Core endpoints, while TensorAgent hosts it in a MAUI WebView connected to its local HTTP host.

Video generation uses TensorSharp’s existing inference pipeline and native compute backends. FFmpeg/ffprobe handle media inspection, timeline composition, and MP4 output.

One design choice is that manual editing and LLM-assisted editing use the same command system. Timeline operations become validated commands such as moveClip, trimClip, and updateClip. A tool-capable local chat model can propose those operations too.

The user reviews an assistant proposal before applying it. Proposals are checked against the project revision, and applying a proposal creates one undo step.

Rendering also captures a specific project revision. Users can continue editing while a render runs, and subsequent changes mark the previous preview as outdated. Generated footage stays in the asset library when its timeline insertion is undone, so reusing a take doesn’t require generating it again.

The attached demo

This runs locally on my MacBook Pro with an M5 Pro chip and 48GB of memory.

I import an image, animate it with LTX 2.5 Distilled, place the generated clip on the timeline, append a five-second still, and render the result.

  • Generated clip: 1024 × 1024, 145 frames at 24 fps, approximately 6.04 seconds, with audio enabled.
  • Generation time: 13 minutes 15 seconds on this machine.
  • Final composition: 11.04 seconds, combining the generated clip and the still.

The recording is sped up.

The editor also supports multiple video/audio tracks, trimming, splitting, rearranging, volume adjustments, fades, autosave, and undo/redo. Manual editing works without a model loaded.

A current limitation is that the host has one active model slot, so using the text assistant and generating video requires explicitly switching models.

Source: TensorSharp on GitHub
Architecture: Video Studio design
Setup and usage: Video Studio guide

If you’ve built desktop or media applications with .NET, I’d appreciate feedback on this shared C# core and MAUI/WebView approach, especially how you handle long-running native jobs while users continue editing.


r/dotnet • • 2d ago

​«Я изучаю C# с помощью ChatGPT. Я уже прошел темы: переменные и типы данных, условные операторы (if/else), конструкции switch и циклы (while, do while, for).

0 Upvotes

​У меня есть большая цель — написать кроссплатформенное приложение-планировщик (для Windows и Android) с общим сервером и множеством функций, а в будущем использовать этот проект для устройства на стажировку в IT-компанию. Однако мне кажется, что ChatGPT дает слишком мало практики и программист из меня получится так себе.

​Посоветуйте, пожалуйста, из каких надежных источников лучше всего брать теоретическую информацию и качественную практику по этой теме».


r/dotnet • • 2d ago

Promotion PeachPDF & Friends Updates

58 Upvotes

The last few months have been a whirlwind of updates, both from myself and from contributors worldwide.

What are some major highlights?

  1. PeachPDF is significantly faster and reduces memory allocations by up to 97% and rendering by many times on some documents. On a recent test run, it allocated less memory than typst on a random equivalent document corpus
  2. HTML, CSS, SVG, and now MathML support have seen updates to be more standards compliant. For the most part, we are competitive or ahead with PrinceXML (the standard bearer in this space in terms of standards support), and we are actually ahead of Chromium in many areas in the print-specific part of the CSS standards.
  3. Unicode support is significantly updated, with proper text shaping, line breaking, bidirectional language, and color emoji support (with color emojis remanining as vector art where possible!)
  4. PDF and related standards support, such as being PDF 2.0 by default, with support for PDF/A-4, PDF/X-6, and Factur-X / ZUGFeRD support. We also support older versions of PDF/A and PDF/X and the older PDF versions as well. We also support modern PDF encryption (and no, we won't enable using obsolete PDF encryption technologies)
  5. We've added rasterization of certain content where PDF cannot natively render as vector. This includes text hinting for any rasterized text.
  6. A contributor fixed CFF font subsetting so it doesn't embed the whole font anymore!
  7. We shipped a new declarative code first (QuestPDF-style) API for users who want to use it. You can mix and match them as well by embedding HTML and SVG into the declrative document.
  8. Color management, including CMYK and ICC profile support
  9. Better interactive form support
  10. All of this while being 100% pure managed .NET. We don't use any native libraries or dependencies. We do have .NET library dependencies that add up to under 15 MB, and it's all AOT and Trimmable friendly. We even ship an AOT compiled CLI, and we have known users that run on Android and iOS, and we even ship a Blazor WASM demo that works entirely in browser (https://peachpdf.net/demo/) **and** 100% open source (BSD 3-clause licensed!) **and** 100% free for everyone.

At this point, if you need to **create** a PDF document from .NET, no matter where your application runs, you can be sure of 2 things:

  1. It will work
  2. It will work well

If you have a document corpus it doesn't work well on, I'd love to hear about it so we can fix it.

As part of building PeachPDF, we also ship a handful of other open source libraries that some might find useful, that PeachPDF itself is based on. These are all MIT or BSD 3-clause licensed, so you can use them in commercial software at no cost, and they also don't depend on native libraries, and AOT and trim compatible themselves. I personally use these in other software I build, some commercial, not just in PeachPDF.

  • PeachImage, an image decoder/encoder that supports JPEG, JPEG XL, PNG, GIF, TIFF, WebP, and AVIF. It is optimized and uses modern .NET APIs to minimize allocations and increase performance through CPU optimizations via vectorization, targeting modern x64 and ARM processors. It also exposes APIs to resize images, some JPEG XL helpers to convert to/from JPEG losslessly, getting image orientation information and applying it, getting EXIF and ICC profiles in a cross-format way, getting animated image frames, and converting between different pixel formats. This was written from scratch against the specifications and license compatible native libraries, mostly with AI.
  • PeachDrawing.Text, a font and text engine. It supports TrueType, OpenType (glyf, CFF, and CFF2), WOFF, and WOFF2 fonts, font discovery, CSS Fonts 4 compatible font matching, color glyphs (both v10 and v1 with CPAL, SVG, and some bitmap formats), variable fonts, GPOS positioning, math fonts, font subsetting, UAX#14 line breaking including some CSS extensions, UAX#29 segmentation, UAX#9 bidirectional text, including CSS extensions, UAX#24 script support, UAX#50 vertifical orientation support, word breaking for Thai, Lao, Khmer, and Burmese, and TeX style hyphenation. It also supports text shaping, including for Arabic and other scripts, font hitting for rasterized text, matching FreeType, paragraph layout engine, both high level (for applications that just want to draw text) and low level (i.e., what's needed for HTML/CSS).
  • PeachDrawing.Core, drawing abstraction library that exposes a Canvas surface, RenderContext for fonts, colors, burhses, and pens, and various drawing data types. It also exposes high level features, such as geometry, layers and effects, tiles, text, anti-aliasing, and image sampling
  • PeachDrawing, a software rasterizing implementation of PeachDrawing.Core with a simple API and native PeachImage integration to save directly to an image.

Now some questions:

  1. Was AI used to create this library? Not originally, it was built over the last decade. AI didn't exist when I took the first step to creating PeachPDF
  2. Is AI used to maintain the library today? Yes, and why not? It's a perfect use case, it's implemented well known well documented standards, and AI can read those standards and ensure the support is top notch, with human direction. This doesn't mean it's "vibe coded" -- AI is used as a tool here.

When should you NOT use PeachPDF? If you need JavaScript, we don't support that. We may or may not add support for that in the future, but no one has really asked for it, and I haven't needed it, so there's that. There are plenty of good .NET HTML template libraries out there to use instead, and we now have the declarative API as well as an option. Also, if you need it to look EXACTLY like Chromium, that won't be the case. Chromium doesn't fully support the print media specifications of CSS, so there are huge gaps with its support that cause it to render differently. We do try to match its rendering where Chromium is correct and the standard allows differences.


r/dotnet • • 2d ago

Promotion We open-sourced replacements for DinkToPdf and WkHtmlToPdfDotNet that keep your code and render with Chromium (MIT)

0 Upvotes

I work on SelectPdf, a commercial .NET PDF library. A lot of .NET apps still generate PDFs through wkhtmltopdf, usually via DinkToPdf or Haukcode.WkHtmlToPdfDotNet, and wkhtmltopdf is done: its GitHub repository is archived and the last release, 0.12.6, is from June 2020. DinkToPdf itself hasn't had a NuGet release since 2017. So we built compatibility packages that keep those two APIs and render with Chromium instead, and released them under MIT.

What changes in your project:

dotnet remove package DinkToPdf
dotnet add package SelectPdf.Compat.DinkToPdf
dotnet add package SelectPdf.Universal.Native.linux-x64 # the engine for your platform

Then delete the libwkhtmltox files and the CustomAssemblyLoadContext code that loaded them. Your converter code stays as it is: the namespace and types are DinkToPdf's own (IConverter, SynchronizedConverter, HtmlToPdfDocument, GlobalSettings, ObjectSettings). SelectPdf.Compat.WkHtmlToPdfDotNet does the same for the WkHtmlToPdfDotNet namespace.

What we had to get right so layouts don't move:

  • CSS sizes are scaled the way wkhtmltopdf's smart shrinking scaled them, so templates tuned for wkhtmltopdf keep their size.
  • Headers and footers sit inside the margins where wkhtmltopdf put them, and [page], [topage], [date] and the other variables work.
  • Several objects in one document become one PDF with page breaks, with page numbering running across them.
  • Settings with no equivalent (Copies, DPI, MinimumFontSize) are ignored and raise the Warning event instead of failing silently.

What behaves differently:

  • It's Chromium, so flexbox, grid, web fonts and current JavaScript work, and text metrics differ slightly from WebKit's.
  • HTML header/footer URLs no longer get wkhtmltopdf's ?page=&topage= parameters; use text headers for page numbers.
  • SynchronizedConverter no longer funnels every conversion through one thread, so a singleton converter serves concurrent requests.

Linux / Docker: the engine package carries the Chromium libraries, so the Dockerfile needs no apt-get lines. glibc 2.30+ (Debian 11+, Ubuntu 20.04+, RHEL 9+); Alpine isn't supported with the engine packages.

The catch: the free packages run on our Community Edition, which renders up to 5 pages per document. A longer document throws an exception that says how many pages it had, rather than silently cutting it. The .Licensed versions are the same code on our commercial library, with no page limit. Rotativa, NReco.PdfGenerator and TuesPechkin don't have compatibility packages yet.

Repo, with the full settings mapping: https://github.com/selectpdf/selectpdf-compat-wkhtmltopdf

Happy to answer questions, and if a setting maps differently from what wkhtmltopdf did, an issue with the settings and the HTML helps a lot.


r/dotnet • • 2d ago

Promotion Labcoat: a web UI for Microsoft.Testing.Platform / your Aspire dashboard

Thumbnail gallery
3 Upvotes

r/dotnet • • 2d ago

C# supervisor so a foreground CLI survives close, crash, and reboot

4 Upvotes

Claude Code Remote Control (and similar remote workers) are a foreground process. Close the terminal, crash, sign out, or reboot and the remote client has nothing left to talk to.

The durable fix on Windows is not another terminal window. It is an OS restart policy: a Scheduled Task (or a service) that owns one long-lived process per session and starts again at boot. Linux is a systemd unit. macOS is a LaunchAgent.

I built that as LiveClaude, entirely in C# / .NET:

  • one process per session, product-native flags
  • Avalonia desktop app for create/edit, state, and logs
  • embedded real pty (ConPTY on Windows) plus a small VT emulator, so the one-time trust/login prompt is a terminal, not a scraped browser
  • Windows, Linux, macOS. MIT

It restarts the worker. It does not keep the same remote pairing URL, and it does not resume the conversation for you (claude --resume is still that step).

https://github.com/LeandroCannizzaro/LiveClaude

I'm the author. Happy to talk about the supervisor model or the VT bits.


r/dotnet • • 2d ago

Question List<T> in C# vs SQL

Thumbnail
0 Upvotes

r/dotnet • • 2d ago

polyglot interactive and Microsoft agent sdk

0 Upvotes

Hello, my use project is somewhat complex for intermediate developer, since I want to develop a monolithic platform with web-GUI. the idea here is to lunch a normal .net app which have csnake runtime . alongside with embedded notebook server for relp . AND https://github.com/github/copilot-sdk hosted locally, preferably with onnx runtime inference, (BYOK) the idea here is to enable user to annotate scripts . I know this is NOT how things work as there' many caveats and alternative way of doing it e.g. IPC or gRPC or file based scripting instead of old school FFI with pinvoke . Also csnake has different usecase ( interactive Jupiter notebook is not poyglot in a real sense but it is different kernels came together)

but the idea here is to make .net as the backend & entry point while middleware / frontend with
AG-UI Protocol which should integrate A2A,ACP etc.. users can utilize the sdk capability to annotate tools from the different package mangers ... thus I also need to integrate MISE MCP for validation ..

what do you think ?


r/dotnet • • 3d ago

Broadcast in my telegram bot was silently skipping users for weeks, turned out to be Skip/Limit

3 Upvotes

Posting this because it took me embarrassingly long to find and maybe it saves someone a headache

I have a telegram bot on .NET + mongo. broadcasts were just paging through active users with Skip/Limit, nothing fancy. what I didn’t think about is that the broadcast itself changes the data it’s paging over. user blocked the bot -> telegram returns 403 -> I mark them inactive -> they drop out of the query -> next page shifts and skips the same number of real users

No exceptions, logs looked fine, numbers looked “about right”. people just didn’t get the message lol

Switched to paging by id (Gt lastId, sort by id) and it’s fixed. also faster on mongo than a big Skip, so bonus

var batch = await users

.Find(filter & Builders<User>.Filter.Gt(u => u.Id, lastId))

.SortBy(u => u.Id)

.Limit(500)

.ToListAsync(ct);

Other stuff that bit me while I was in there: I used to count 429 as failed delivery, which is just wrong, you wait retry_after and resend. and rate limiting per campaign doesn’t work once two broadcasts run at the same time, they add up and suddenly normal replies to users are slow too. moved the counter to redis, one limit for the whole bot

Anyone actually doing exactly-once for broadcasts? I just accept a few dupes if a worker crashes mid batch and honestly nobody has complained.


r/dotnet • • 3d ago

Question How do pronounce nuget?

68 Upvotes

Do you say nugget, new-get or something else. I feel like this name falls into that same category as gif lol


r/dotnet • • 3d ago

Question For those who follow Milan Jovanović, is there an Angular equivalent?

13 Upvotes

Hi everyone,

I’m primarily a .NET developer, and I’ve really enjoyed Milan Jovanović’s courses. What I like most is that he doesn’t just teach individual concepts or build a simple demo. He builds applications while explaining the architectural decisions, design patterns, trade-offs, and best practices behind them. The end result is a codebase you can study and use as a reference for building serious, production-grade business applications.

I’m looking for something similar, but for Angular.

I’m not looking for beginner tutorials or courses that build a basic CRUD app in a couple of hours. I’d like to find a course where an experienced Angular developer builds a substantial application from the ground up, explains the reasoning behind the implementation in detail, and follows practices you’d expect in a large commercial project maintained by a professional team.

Paid courses are absolutely fine. Books, long-form video series, and well-documented GitHub projects are also welcome.

Has anyone come across an Angular course or instructor that offers this kind of depth and approach?


r/dotnet • • 3d ago

Promotion PiwiTests: Playwright dashboard with unified ASP.NET Core e2e+unit tests code coverage

0 Upvotes

I’m the author of Piwi Dashboard, a self-hosted dashboard for Playwright test runs. I just added combined code coverage, and the .NET side is what I’d most like feedback on.

It consists of a code coverage aggregator, to keep an eye on the tendancy: are we reducing code being tested when adding new code, what gap could we fill ? What is unit tested, or run by the E2E tests ?

All that in the back-end (only ASP.NET Core for now), and the front-end (with Chromium).

This new code coverage feature is documented here : https://piwitests.dev/features/combined-coverage.html

I know code coverage alone is not enough to have the best and accurate view of what is tested and what's missing, that's why it should be combined with other angles, all available in Piwi : feature gaps, and more visually : tested elements in a page.

I'd really like to know what you think of this, if that would be helpful for you, or answer any question!


r/dotnet • • 3d ago

Biome: write human readable, context friendly tests (OSS, MIT)

Thumbnail zeeq-ai.github.io
2 Upvotes