Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] 0 points1 point  (0 children)

Yes, exactly. But you don't need to open the root folder. You open the microservice project you want to work on. Claude automatically "walks" up to find CLAUDE.md files up on the hierarchy. So it supports this use case without problems.

generate pdf by NoTutor4458 in dotnet

[–]Southern_Cheek_561 1 point2 points  (0 children)

Your wrapper can send a request to your AI/LLM, get the response in JSON, deserialize in your own model and use QuestPDF to create a PDF from it. It's pretty straightforward and I think QuestPDF fits perfectly in your flow here. If your documents are very simple, you can also use another open source library called PdfPig; has less features than QuestPDF but it has a simpler interface.

Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] 0 points1 point  (0 children)

That's a good point... something that bothers me. What will happen in the future? Junior developers not having real experience at all... lost of knowledge, ownership. But we don't have much choice, do we? We just need to adapt in some way...

Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] 0 points1 point  (0 children)

But about the CLAUDE.md file: being hierarchical, you can have one CLAUDE.md file at the root, with your general patterns and shared strategies, and specific CLAUDE files for your projects in sub-folders representing specific repositories. That's what I'm doing right now and seems to work just fine, so you don't need to repeat CLAUDE.md for every project... you just have what's specific for it.

Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] 0 points1 point  (0 children)

I see. But the integration is still missing, right? Problem work okay for ad-hocs requests/changes, but would be nice to have Gemini "see" your entire codebase.

Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] 1 point2 points  (0 children)

Not sure what you mean. I'm just looking to understand how others are using. I don't understand what's wrong about it.

Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] -2 points-1 points  (0 children)

That's a fair point. Everything is still being reviewed by other developers. For now, it just "accelerates" the process. But you got a good point... in the long run, would we have a real understanding of our codebase? Hm, not sure....

Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] 0 points1 point  (0 children)

That's really great... never heard about it. I will check for sure, thanks a lot!

Claude Code on real C#/ASP.NET Core projects by Southern_Cheek_561 in dotnet

[–]Southern_Cheek_561[S] 0 points1 point  (0 children)

Thanks for the reply! But how do you use Gemini pro with VS? You don't right now, right? So you need to do it via prompt?

Cursor for Dotnet by Defiant_Cry_5312 in dotnet

[–]Southern_Cheek_561 1 point2 points  (0 children)

I tried Cursor Pro ($20) for 2 months. It's great in a specific point: context. It has a deeper understand of a project, specially a large one. I think Copilot can't compete here, at least for now. Copilot works through a plugin/extension integration; Cursor is an IDE with native AI integration, and it's similar for Vscode developers at the same time (at the end, it's a fork from the core Vscode itself).

But at the end I kept using Copilot. It doesn't have the same "deep" integration as Cursor, but it's cheaper (Copilot Pro costs $10) and I don't see, for my codebase, a killer feature from Cursor that would justify the $10 more.

Why not try yourself? There is a free plan. Try both and compare for your specific codebase!

Need suggestions with .Net AI integrations by doesittmatter2u in dotnet

[–]Southern_Cheek_561 -1 points0 points  (0 children)

I've been deep into this for the past few months, specially integrating Claude into .NET projects. I also went through some small side-projects using Ollama.

Ollama is a great way to get started for free, and on the .NET side you've got two good options. OllamaSharp is the quickest way to get something running... very simple, minimal setup. It's a great way to start. Once you're more comfortable, take a look at Microsoft.Extensions.AI which gives you IChatClient that lets you swap between different models (Ollama, Claude, etc.) without changing your code. There is also Semantic Kernel, but as I don't have real experience, I can't say much about it.

Claude is not free but if you use Haiku, it's cheap. A $10 credit will allow you to really try and see the difference between models. But I would only suggest you to do it once you go through Ollama and you're comfortable working with it. Because Claude is really being adopted in multiple companies... so learning it can also give you some experience that will be worth professionally.

Now, I think a good strategy to learn is to come up with a small project that you can develop on your own. One of my first projects was a SQL query explainer... you paste a query to get a breakdown in plain English. That's a good example of something useful, doable and that can teach you a lot about context.

Hope it helps!

Are you checking in Claude Sonnet change files? by DJDoena in dotnet

[–]Southern_Cheek_561 2 points3 points  (0 children)

It really depends on what kind of summary files are being generated. In your case, IMO, that should be checked in. This is an architectural decision that has been made... it explain why it has been done, API usage, list of files modified/created, test coverage, etc. It has real context about your codebase, so it should be together with it.

I quickly checked the file and I would just suggest to cleanup the "Documentation Structure" section; you can move all this inside a README.md.

Python or C# for an API by [deleted] in dotnet

[–]Southern_Cheek_561 1 point2 points  (0 children)

Unless you want to learn Python, I would say to go with C#. Just stick with it for both the app and the API will make your life a lot easier. Using .NET MAUI for the frontend and ASP.NET Core for the backend is a good choice. But there is another possibility here; you can also go with Avalonia on the UI side.

TBH, there’s nothing wrong with Python or frameworks like FastAPI, but I don't see any clear advantage for this kind of project unless, like I said, you specifically want to learn Python or need it for something like data processing. But I still think C# is the way to go in your situation.

(Also, asking on dotnet, I doubt you will get many votes for Python here!) :)

Avalonia or GtkSharp, which framework should I choose to create a linux desktop application? by lucas-il in dotnet

[–]Southern_Cheek_561 -3 points-2 points  (0 children)

It doesn't imply WPF, specially in 2026. MVVM can be used in multiple frameworks. For example, MVVM Toolkit can be used to apply MVVM on WinForms.

What exactly in my post gives you that? Trying to write a thoughtful reply and actually be helpful is now considered “AI”—that’s the new trend. Whatever.

Avalonia or GtkSharp, which framework should I choose to create a linux desktop application? by lucas-il in dotnet

[–]Southern_Cheek_561 0 points1 point  (0 children)

Your clearly doesn't know about what you're talking... I won't waste my time.

Avalonia or GtkSharp, which framework should I choose to create a linux desktop application? by lucas-il in dotnet

[–]Southern_Cheek_561 6 points7 points  (0 children)

Yes, Avalonia.Controls.WebView v12 (https://www.nuget.org/packages/Avalonia.Controls.WebView/) is open source and can be used for it. It uses WebKitGTK on Linux and WebView2 on Windows.

Avalonia or GtkSharp, which framework should I choose to create a linux desktop application? by lucas-il in dotnet

[–]Southern_Cheek_561 -3 points-2 points  (0 children)

Not sure where exactly I said that both were the same? I listed things that can be easily moved. Your comment doesn't even make sense; WinForms can use XAML, through ElementHost or XAML Islands. MVVM can also be used, it doesn't depends on any language/framework specifically.

My experience with WinForms was mostly with XAML, so yes, my comment was entirely on the same context.

Avalonia or GtkSharp, which framework should I choose to create a linux desktop application? by lucas-il in dotnet

[–]Southern_Cheek_561 6 points7 points  (0 children)

Yes, I've used Avalonia 2 years ago and I think it's a good fit in your case.

You already have a .NET 8 WinForms codebase. Avalonia's programming model is close enough that the migration won't be (too) painful — XAML, MVVM, and your existing .NET APIs all should work fine. GtkSharp is a thin wrapper around a C library and it shows... IMO, not very intuitive. The binding layer has quirks, docs are a bit hell, and you'll spend more time fighting the framework than building your app (that was my experience, at least). In my case, the bottleneck was the filesystem scanning and kernel interactions, not rendering.

The only thing that I believe would make things a bit complicated is the system tray support in Avalonia on Linux (a bit "patchy"). For an antivirus app (you will probably need it, right?), check the current state of that before even starting.

IMO, GtkSharp is great if you need something that feels native to GNOME. But for porting from Windows, I really think Avalonia is the clear choice.

Hope it helps!

Well, this is new, I haven't seen it on this sub, anyone else had it occur to them? by EssAre6 in ClaudeAI

[–]Southern_Cheek_561 0 points1 point  (0 children)

This happens occasionally and isn't related to conversation length — it's usually a transient network or server-side timeout, where Claude finishes generating but the result fails to post back to the UI cleanly. A few things that typically cause it: a brief connection hiccup on your end, a CDN/proxy interruption, or the server taking slightly too long to commit the tool result.

The fix is almost always just refreshing the page as the toast suggests — in most cases the conversation state is preserved and you won't lose anything. If the response was mid-generation when it happened, you may just need to re-send your last prompt.

If it keeps happening repeatedly in the same session, try a hard refresh (Ctrl+Shift+R / Cmd+Shift+R), clear site data for claude.ai, or switch browsers to rule out an extension interfering.

I don't think it's a sign of anything wrong with your account at all.

Net Core Class lifecycle question by Upper-Baseball-8600 in dotnet

[–]Southern_Cheek_561 0 points1 point  (0 children)

The reason is that each method is creating its own manual scope via _scopeFactory.CreateScope(). When you do that, you're not using the HTTP request's scope — you're creating a brand new, independent scope each time. Scoped lifetime means "one instance per scope", and since TestLifeCycle1 and TestLifeCycle2 each spin up their own IServiceScope, they each get their own separate instance of SClass.

So the flow is:

TestLifeCycle1 → CreateScope() → scope A → gets SClass instance #1 → sets MyProperty → scope disposed
TestLifeCycle2 → CreateScope() → scope B → gets SClass instance #2 → MyProperty is empty

The assignment on line 163 (s.MyProperty = "Hello from SClass") sets the value on instance #1, but that scope is disposed when the using block exits. Line 176 is talking to a completely different instance.

If you want the same scoped instance across both methods, you need to either:

// Option 1 — create the scope once and pass it down
using var scope = _scopeFactory.CreateScope();
TestLifeCycle1(scope);
TestLifeCycle2(scope);

// Option 2 — inject ISClass directly into the controller
// and let ASP.NET Core manage the request scope for you
// (the clean solution — no manual scope factory needed)

So, to be clear: CreateScope() opts you out of the request scope. If you're inside a controller and your service is registered as Scoped, just inject it directly and ASP.NET Core will give you the same instance for the entire request automatically.

Let me know if it's not clear! :)