Skip to content

Conversation

@Timovzl
Copy link
Collaborator

@Timovzl Timovzl commented Sep 9, 2025

  • Generic JSON serializers instead of generated.

  • Removed #if NET7/8 conditionals, now that 8 is the minimum version.

  • Upgraded LangVersion and handled compiler suggestions.

  • Suppressions and summary corrections.

  • Implemented formatting/parsing via default interface implementations and (.NET 10+) extension members.

  • Prepared outcommented precompiler directives for a .NET 10 patch upgrade, to reduce assembly bloat then.

  • Also corrected how formattable/parsable is determined based on wrapped types.

  • Also fixed a few bugs.

  • Generator performance and cleanup.

  • Added serialization to/from deepest underlying type (recursive).

  • Also cleaned up the way in which lines not being source generated are outcommented.

  • Also improved source generator performance.

  • Also prevented transient issues when reporting warnings on wrapper types.

  • Added wrapper EF collations, collation checks, and provider comparers.

@Timovzl Timovzl force-pushed the feature/4.0.0 branch 19 times, most recently from 3e6bc24 to 1ca130d Compare September 16, 2025 15:55
@Timovzl Timovzl force-pushed the feature/4.0.0 branch 3 times, most recently from 0d29af4 to cf6a1a3 Compare September 30, 2025 19:11
";

AddSource(context, source, "EntityFrameworkDomainModelConfigurationExtensions", $"{Constants.DomainModelingNamespace}.EntityFramework");
AddSource(context, source, "EntityFrameworkDomainModelConfigurationExtensions", $"Architect.DomainModeling.EntityFramework");
Copy link

@JoergHoffmannatGitHub JoergHoffmannatGitHub Oct 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

error CS0016: Could not write to output file
I think the path is to long on my machine
I checked out to 'C:\Development\GitHub\Architect.DomainModeling'

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @JoergHoffmannatGitHub, this works fine for me if I imitate your approach:

D:\Development\GitHub>git clone https://github.com/TheArchitectDev/Architect.DomainModeling.git
D:\Development\GitHub>cd Architect.DomainModeling
D:\Development\GitHub\Architect.DomainModeling>dotnet build

What is the reason you are trying to build from source, particularly in the context of this PR?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right. Using 'dotnet build' works fine.
Personally, I prefer building with Visual Studio Community.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious that the results differ. I get the same result (success) in VS.

Do you have the solution file under C:\Development\GitHub\Architect.DomainModeling or C:\Development\GitHub\Architect.DomainModeling\Architect.DomainModeling?

What are you trying to achieve by building, and what is the relation to this PR?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The solution is located at C:\Development\GitHub\Architect.DomainModeling.
I am playing around with some ideas on how to use the attributes for defining a domain model to understand the generated code and how the entity, value object, and others work together.
The easiest way was to generate some classes in the sample project.
Ultimately, I plan to use the Nuget package.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood. It's unclear to me why you're seeing the path length issue and I'm not, for the same IDE and local path.

For what it's worth, you might be able to do what you're trying to do with the NuGet package as well. Or you could use a shorter local path as an annoying workaround. 😛

…and (.NET 10+) extension members.

Prepared outcommented precompiler directives for a .NET 10 patch upgrade, to reduce assembly bloat then.

Also corrected how formattable/parsable is determined based on wrapped types.

Also fixed a few bugs.
…y. (ArraySegment, the other common collection struct, has implicit conversions from arrays, which mess with nullability constraints.)
Also cleaned up the way in which lines not being source generated are outcommented.

Also improved source generator performance.

Also prevented transient issues when reporting warnings on wrapper types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants