Skip to content

Commit 023da57

Browse files
authored
[dotnet-svcutil.XmlSerializer] Add support of net9.0 (#5759)
* [dotnet-svcutil.XmlSerializer] Add support of net9.0 * Improve the fix since NETCoreSdkVersion always points to the latest sdk verison.
1 parent f0f500d commit 023da57

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

src/svcutilcore/files/dotnet-svcutil.xmlserializer.targets

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,22 @@
99
<_SerializerCsIntermediateFolder>$(IntermediateOutputPath)$(_SerializationAssemblyName).cs</_SerializerCsIntermediateFolder>
1010
<_SvcUtilWarningText>Warning : Failed to generate the serializer for $(AssemblyName)$(TargetExt).</_SvcUtilWarningText>
1111
<_SerializationAssemblyDisabledWarnings>$(NoWarn);219;162;$(SerializationAssemblyDisabledWarnings)</_SerializationAssemblyDisabledWarnings>
12+
<FrameworkVersion>net8.0</FrameworkVersion>
13+
<SdkFile>$(IntermediateOutputPath)sdks_list.txt</SdkFile>
1214
</PropertyGroup>
13-
15+
<Target Name="DetectNetSdkVersion" BeforeTargets="Build">
16+
<Exec Command="dotnet --list-sdks &gt; $(SdkFile)" IgnoreStandardErrorWarningFormat="true" />
17+
<ReadLinesFromFile File="$(SdkFile)">
18+
<Output TaskParameter="Lines" ItemName="SdkVersions" />
19+
</ReadLinesFromFile>
20+
<ItemGroup>
21+
<Net9Sdks Include="@(SdkVersions)" Condition="$([System.String]::new('%(SdkVersions.Identity)').StartsWith('9.0'))"></Net9Sdks>
22+
</ItemGroup>
23+
<PropertyGroup>
24+
<FrameworkVersion Condition="'@(Net9Sdks)' != ''" >net9.0</FrameworkVersion>
25+
</PropertyGroup>
26+
<Delete Files="$(SdkFile)" ContinueOnError="WarnAndContinue"/>
27+
</Target>
1428
<UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageAssets"
1529
AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
1630

@@ -26,7 +40,7 @@
2640
TaskParameter="RuntimeAssemblies"
2741
ItemName="WCFRuntimeAssembly"/>
2842
</ResolvePackageAssets>
29-
43+
3044
<ResolvePackageAssets
3145
Condition="'$(_IsNet5Compatible)' == 'true' And '$(_IsSdkGreaterThan60)' == 'true'"
3246
DefaultImplicitPackages="Microsoft.NETCore.App;NETStandard.Library"
@@ -60,7 +74,7 @@
6074
<Delete Condition="Exists('$(_SerializerPdbIntermediateFolder)') == 'true'" Files="$(_SerializerPdbIntermediateFolder)" ContinueOnError="true" />
6175
<Delete Condition="Exists('$(_SerializerCsIntermediateFolder)') == 'true'" Files="$(_SerializerCsIntermediateFolder)" ContinueOnError="true" />
6276
<Message Text="Running SvcUtil Serialization Tool" Importance="normal" />
63-
<Exec Command="dotnet $(MSBuildThisFileDirectory)..\lib\net8.0\dotnet-svcutil.xmlserializer.dll $(IntermediateOutputPath)$(AssemblyName)$(TargetExt) --quiet --out:$(IntermediateOutputPath)$(_SerializationAssemblyName) --smreference:&quot;@(_ReferenceSMAssembly)&quot;" ContinueOnError="true" />
77+
<Exec Command="dotnet $(MSBuildThisFileDirectory)..\lib\$(FrameworkVersion)\dotnet-svcutil.xmlserializer.dll $(IntermediateOutputPath)$(AssemblyName)$(TargetExt) --quiet --out:$(IntermediateOutputPath)$(_SerializationAssemblyName) --smreference:&quot;@(_ReferenceSMAssembly)&quot;" ContinueOnError="true" />
6478
<Warning Condition="Exists('$(_SerializerCsIntermediateFolder)') != 'true'" Text="$(_SvcUtilWarningText)" />
6579
<Csc Condition="Exists('$(_SerializerCsIntermediateFolder)') == 'true'" ContinueOnError="true" OutputAssembly="$(_SerializerDllIntermediateFolder)" References="@(ReferencePath);@(IntermediateAssembly)" EmitDebugInformation="$(DebugSymbols)" Sources="$(_SerializerCsIntermediateFolder)" TargetType="Library" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" DisabledWarnings="$(_SerializationAssemblyDisabledWarnings)" />
6680
<Warning Condition="Exists('$(_SerializerDllIntermediateFolder)') != 'true' And Exists('$(_SerializerCsIntermediateFolder)') == 'true'" Text="$(_SvcUtilWarningText)" />

src/svcutilcore/src/dotnet-svcutil.xmlserializer.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AssemblyVersion>1.1.1.0</AssemblyVersion>
44
<AssemblyName>dotnet-svcutil.xmlserializer</AssemblyName>
55
<RootNamespace>Microsoft.Tools.ServiceModel.SvcUtil.XmlSerializer</RootNamespace>
6-
<TargetFramework>net8.0</TargetFramework>
6+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
77
<OutputType>Exe</OutputType>
88
<TargetExt>.dll</TargetExt>
99
<NoWarn>$(NoWarn);1634;1691;649;168;169;NU5129</NoWarn>

0 commit comments

Comments
 (0)