diff --git a/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs b/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs index 29281d0f3cf2..7a5e4e83c2f3 100644 --- a/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs +++ b/src/Controls/src/BindingSourceGen/BindingSourceGenerator.cs @@ -37,9 +37,9 @@ public void Initialize(IncrementalGeneratorInitializationContext context) context.RegisterSourceOutput(bindings, (spc, binding) => { - - var fileName = $"{binding.Location.FilePath}/GeneratedBindableObjectExtensions-{binding.Location.Line}-{binding.Location.Column}.g.cs"; - spc.AddSource(fileName, BindingCodeWriter.GenerateBinding(binding, (uint)Math.Abs(binding.Location.GetHashCode()))); + var fileName = $"{binding.Location.FilePath}-GeneratedBindableObjectExtensions-{binding.Location.Line}-{binding.Location.Column}.g.cs"; + var sanitizedFileName = fileName.Replace('/', '-').Replace('\\', '-').Replace(':', '-'); + spc.AddSource(sanitizedFileName, BindingCodeWriter.GenerateBinding(binding, (uint)Math.Abs(binding.Location.GetHashCode()))); }); } diff --git a/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs b/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs index 4a77d1d4428e..a811b537586a 100644 --- a/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs +++ b/src/Controls/tests/BindingSourceGen.UnitTests/IntegrationTests.cs @@ -80,7 +80,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-3-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-3-7.g.cs"]); } [Fact] @@ -182,7 +182,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-6-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-6-7.g.cs"]); } [Fact] @@ -287,7 +287,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-7-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-7-7.g.cs"]); } public static IEnumerable GenerateSimpleBindingWhenNullableDisabledAndPropertyNullableData => @@ -493,7 +493,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-7-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-7-7.g.cs"]); } [Fact] @@ -611,7 +611,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-7-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-7-7.g.cs"]); } [Theory] @@ -736,7 +736,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-4-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-4-7.g.cs"]); } [Fact] @@ -855,7 +855,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-4-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-4-7.g.cs"]); } [Fact] @@ -957,7 +957,7 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-3-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-3-7.g.cs"]); } [Fact] @@ -1073,6 +1073,6 @@ internal static partial class GeneratedBindableObjectExtensions } } """, - result.GeneratedFiles["Path/To/Program.cs/GeneratedBindableObjectExtensions-6-7.g.cs"]); + result.GeneratedFiles["Path-To-Program.cs-GeneratedBindableObjectExtensions-6-7.g.cs"]); } }