diff --git a/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft.WinFX.targets b/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft.WinFX.targets index 2b51517e7c32f22052173b71f634b85d64903f39..aef40014f294509c3940616fd57128f8b87875f6 100644 --- a/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft.WinFX.targets +++ b/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft.WinFX.targets @@ -464,6 +464,7 @@ MSBuildBinPath="$(MSBuildBinPath)" ReferencePathTypeName="ReferencePath" CompileTypeName="Compile" + AnalyzerTypeName="Analyzer" GeneratedCodeFiles="@(_GeneratedCodeFiles)" ReferencePath="@(ReferencePath)" BaseIntermediateOutputPath="$(BaseIntermediateOutputPath)" @@ -472,7 +473,7 @@ CompileTargetName="$(_CompileTargetNameForLocalType)" GenerateTemporaryTargetAssemblyDebuggingInformation="$(GenerateTemporaryTargetAssemblyDebuggingInformation)" IncludePackageReferencesDuringMarkupCompilation="$(IncludePackageReferencesDuringMarkupCompilation)" - Analyzers="$(Analyzers)" + Analyzers="@(Analyzer)" TemporaryTargetAssemblyProjectName="$(_TemporaryTargetAssemblyProjectName)" MSBuildProjectExtensionsPath="$(MSBuildProjectExtensionsPath)" > diff --git a/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft/Build/Tasks/Windows/GenerateTemporaryTargetAssembly.cs b/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft/Build/Tasks/Windows/GenerateTemporaryTargetAssembly.cs index 80a436dce22e7dc359c37c379e827e0b70d64300..da314af0bfb2e3220f8d99fe9c39cc2e0c8111f7 100644 --- a/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft/Build/Tasks/Windows/GenerateTemporaryTargetAssembly.cs +++ b/src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/Microsoft/Build/Tasks/Windows/GenerateTemporaryTargetAssembly.cs @@ -262,6 +262,9 @@ private bool ExecuteGenerateTemporaryTargetAssemblyWithPackageReferenceSupport() // Add GeneratedCodeFiles to Compile item list. AddNewItems(xmlProjectDoc, CompileTypeName, GeneratedCodeFiles); + // Add Analyzers to Analyzer item list. + AddNewItems(xmlProjectDoc, AnalyzerTypeName, Analyzers); + // Replace implicit SDK imports with explicit SDK imports ReplaceImplicitImports(xmlProjectDoc); @@ -273,7 +276,6 @@ private bool ExecuteGenerateTemporaryTargetAssemblyWithPackageReferenceSupport() ( nameof(BaseIntermediateOutputPath), BaseIntermediateOutputPath ), ( nameof(MSBuildProjectExtensionsPath), MSBuildProjectExtensionsPath ), ( "_TargetAssemblyProjectName", Path.GetFileNameWithoutExtension(CurrentProject) ), - ( nameof(Analyzers), Analyzers ) }; AddNewProperties(xmlProjectDoc, properties); @@ -480,9 +482,20 @@ public bool GenerateTemporaryTargetAssemblyDebuggingInformation /// Required for Source Generator support. May be null. /// /// - public string Analyzers + public ITaskItem[] Analyzers { get; set; } + /// + /// AnalyzerTypeName + /// The appropriate item name which can be accepted by managed compiler task. + /// It is "Analyzer" for now. + /// + /// Adding this property is to make the type name configurable, if it is changed, + /// No code is required to change in this task, but set a new type name in project file. + /// + [Required] + public string AnalyzerTypeName { get; set; } + /// /// BaseIntermediateOutputPath ///