diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs b/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs index d5a70d86e0..1229412237 100644 --- a/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs +++ b/src/Microsoft.AspNetCore.Mvc.Razor.Host/Internal/ViewComponentTagHelperChunkVisitor.cs @@ -149,7 +149,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host.Internal })) { Writer.WriteInstanceMethodInvocation( - $"((global::{_context.IViewContextAwareTypeName}){ViewComponentTagHelperVariable})", + $"({ViewComponentTagHelperVariable} as global::{_context.IViewContextAwareTypeName})?", _context.ContextualizeMethodName, new [] { ViewContextVariable }); diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ViewComponentTagHelperChunkVisitorTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ViewComponentTagHelperChunkVisitorTest.cs index 876eed2f30..ecb9993dad 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ViewComponentTagHelperChunkVisitorTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Internal/ViewComponentTagHelperChunkVisitorTest.cs @@ -50,12 +50,12 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host.Test.Internal if (!string.Equals(expectedOutput, resultOutput, StringComparison.Ordinal)) { ResourceFile.UpdateFile(assembly, path, expectedOutput, resultOutput); - expectedOutput = ResourceFile.ReadResource(assembly, path, sourceFile: true); } -#endif - +#else // Assert Assert.Equal(expectedOutput, resultOutput, ignoreLineEndingDifferences: true); +#endif + } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/GeneratedViewComponentTagHelperClasses.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/GeneratedViewComponentTagHelperClasses.cs index 9ff6e7d227..5556074723 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/GeneratedViewComponentTagHelperClasses.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/GeneratedViewComponentTagHelperClasses.cs @@ -11,7 +11,7 @@ public class __Generated__FooViewComponentTagHelper : Microsoft.AspNetCore.Razor public System.String Attribute { get; set; } public override async global::System.Threading.Tasks.Task ProcessAsync(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, Microsoft.AspNetCore.Razor.TagHelpers.TagHelperOutput output) { - ((global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)_viewComponentHelper).Contextualize(ViewContext); + (_viewComponentHelper as global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)?.Contextualize(ViewContext); var viewContent = await _viewComponentHelper.InvokeAsync("Foo", new { Attribute }); output.TagName = null; output.Content.SetHtmlContent(viewContent); @@ -30,7 +30,7 @@ public class __Generated__BarViewComponentTagHelper : Microsoft.AspNetCore.Razor public System.String Attribute { get; set; } public override async global::System.Threading.Tasks.Task ProcessAsync(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, Microsoft.AspNetCore.Razor.TagHelpers.TagHelperOutput output) { - ((global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)_viewComponentHelper).Contextualize(ViewContext); + (_viewComponentHelper as global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)?.Contextualize(ViewContext); var viewContent = await _viewComponentHelper.InvokeAsync("Bar", new { Attribute }); output.TagName = null; output.Content.SetHtmlContent(viewContent);