You've already forked linux-packaging-mono
Imported Upstream version 5.10.0.69
Former-commit-id: fc39669a0b707dd3c063977486506b6793da2890
This commit is contained in:
parent
d8f8abd549
commit
e2950ec768
@@ -19,10 +19,10 @@ Global
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Debug|Any CPU.ActiveCfg = netstandard-Debug|Any CPU
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Debug|Any CPU.Build.0 = netstandard-Debug|Any CPU
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Release|Any CPU.ActiveCfg = netstandard-Release|Any CPU
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Release|Any CPU.Build.0 = netstandard-Release|Any CPU
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Debug|Any CPU.ActiveCfg = netcoreapp-Debug|Any CPU
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Debug|Any CPU.Build.0 = netcoreapp-Debug|Any CPU
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Release|Any CPU.ActiveCfg = netcoreapp-Release|Any CPU
|
||||
{0D1E2954-A5C7-4B8C-932A-31EB4A96A737}.Release|Any CPU.Build.0 = netcoreapp-Release|Any CPU
|
||||
{80958E8B-2FEB-4F95-83F9-825CA1ED26F8}.Debug|Any CPU.ActiveCfg = netstandard-Debug|Any CPU
|
||||
{80958E8B-2FEB-4F95-83F9-825CA1ED26F8}.Debug|Any CPU.Build.0 = netstandard-Debug|Any CPU
|
||||
{80958E8B-2FEB-4F95-83F9-825CA1ED26F8}.Release|Any CPU.ActiveCfg = netstandard-Release|Any CPU
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<Import Project="..\dir.props" />
|
||||
<PropertyGroup>
|
||||
<PreReleaseLabel>preview1</PreReleaseLabel>
|
||||
<PackageVersion>1.0.0</PackageVersion>
|
||||
<PackageVersion>1.1.0</PackageVersion>
|
||||
<SkipValidatePackage>true</SkipValidatePackage>
|
||||
<AssemblyVersion>1.0.0.0</AssemblyVersion>
|
||||
<AssemblyFileVersion>$(AssemblyVersion)</AssemblyFileVersion>
|
||||
|
@@ -5,7 +5,10 @@
|
||||
<ProjectReference Include="..\src\Microsoft.XmlSerializer.Generator.csproj" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<ReleaseNotes>https://go.microsoft.com/fwlink/?LinkID=863421</ReleaseNotes>
|
||||
<ProjectUrl>https://go.microsoft.com/fwlink/?linkid=858594</ProjectUrl>
|
||||
<SkipPackageFileCheck>true</SkipPackageFileCheck>
|
||||
<HarvestStablePackage>false</HarvestStablePackage>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageFile Include=".\build\prefercliruntime"/>
|
||||
|
@@ -1,27 +1,61 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SerializerName>$(AssemblyName).XmlSerializers</SerializerName>
|
||||
<SerializerDllImmediatePath>$(IntermediateOutputPath)$(SerializerName).dll</SerializerDllImmediatePath>
|
||||
<SerializerPdbImmediatePath>$(IntermediateOutputPath)$(SerializerName).pdb</SerializerPdbImmediatePath>
|
||||
<SerializerCsImmediatePath>$(IntermediateOutputPath)$(SerializerName).cs</SerializerCsImmediatePath>
|
||||
<SGenWarningText>SGEN : warning SGEN1: Fail to generate the serializer for $(AssemblyName).dll. Please follow the instructions in https://go.microsoft.com/fwlink/?linkid=858594 and try again.</SGenWarningText>
|
||||
<_SerializationAssemblyName>$(AssemblyName).XmlSerializers</_SerializationAssemblyName>
|
||||
<_SerializerDllIntermediateFolder>$(IntermediateOutputPath)$(_SerializationAssemblyName).dll</_SerializerDllIntermediateFolder>
|
||||
<_SerializerPdbIntermediateFolder>$(IntermediateOutputPath)$(_SerializationAssemblyName).pdb</_SerializerPdbIntermediateFolder>
|
||||
<_SerializerCsIntermediateFolder>$(IntermediateOutputPath)$(_SerializationAssemblyName).cs</_SerializerCsIntermediateFolder>
|
||||
<_SGenWarningText>SGEN : warning SGEN1: Fail to generate the serializer for $(AssemblyName)$(TargetExt). Please follow the instructions at https://go.microsoft.com/fwlink/?linkid=858594 and try again.</_SGenWarningText>
|
||||
<_SerializationAssemblyDisabledWarnings>$(NoWarn);219;162;$(SerializationAssemblyDisabledWarnings)</_SerializationAssemblyDisabledWarnings>
|
||||
</PropertyGroup>
|
||||
<Target Name="GenerateSerializationAssembly" AfterTargets="Build">
|
||||
<Delete Condition="Exists('$(SerializerDllImmediatePath)') == 'true'" Files="$(SerializerDllImmediatePath)" />
|
||||
<Delete Condition="Exists('$(SerializerPdbImmediatePath)') == 'true'" Files="$(SerializerPdbImmediatePath)" />
|
||||
<Delete Condition="Exists('$(SerializerCsImmediatePath)') == 'true'" Files="$(SerializerCsImmediatePath)" />
|
||||
<Delete Condition="Exists('$(_SerializerDllIntermediateFolder)') == 'true'" Files="$(_SerializerDllIntermediateFolder)" ContinueOnError="true"/>
|
||||
<Delete Condition="Exists('$(_SerializerPdbIntermediateFolder)') == 'true'" Files="$(_SerializerPdbIntermediateFolder)" ContinueOnError="true"/>
|
||||
<Delete Condition="Exists('$(_SerializerCsIntermediateFolder)') == 'true'" Files="$(_SerializerCsIntermediateFolder)" ContinueOnError="true"/>
|
||||
<Message Text="Running Serialization Tool" Importance="normal" />
|
||||
<Exec Command="dotnet Microsoft.XmlSerializer.Generator $(IntermediateOutputPath)$(AssemblyName).dll /force /quiet" ContinueOnError="true"/>
|
||||
<Warning Condition="Exists('$(SerializerCsImmediatePath)') != 'true'" Text="$(SGenWarningText)" />
|
||||
<Csc Condition="Exists('$(SerializerCsImmediatePath)') == 'true'" ContinueOnError="true" OutputAssembly="$(SerializerDllImmediatePath)" References="@(ReferencePath);@(IntermediateAssembly)" EmitDebugInformation="$(DebugSymbols)" Sources="$(SerializerCsImmediatePath)" TargetType="Library" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)"/>
|
||||
<Warning Condition="Exists('$(SerializerDllImmediatePath)') != 'true' And Exists('$(SerializerCsImmediatePath)') == 'true'" Text="$(SGenWarningText)"/>
|
||||
<Copy Condition="Exists('$(SerializerDllImmediatePath)') == 'true'" SourceFiles="$(SerializerDllImmediatePath)" DestinationFolder="$(OutputPath)" />
|
||||
<Exec Command="dotnet Microsoft.XmlSerializer.Generator $(IntermediateOutputPath)$(AssemblyName)$(TargetExt) /force /quiet" ContinueOnError="true"/>
|
||||
<Warning Condition="Exists('$(_SerializerCsIntermediateFolder)') != 'true'" Text="$(_SGenWarningText)" />
|
||||
<Csc Condition="Exists('$(_SerializerCsIntermediateFolder)') == 'true'" ContinueOnError="true" OutputAssembly="$(_SerializerDllIntermediateFolder)" References="@(ReferencePath);@(IntermediateAssembly)" EmitDebugInformation="$(DebugSymbols)" Sources="$(_SerializerCsIntermediateFolder)" TargetType="Library" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" DisabledWarnings="$(_SerializationAssemblyDisabledWarnings)"/>
|
||||
<Warning Condition="Exists('$(_SerializerDllIntermediateFolder)') != 'true' And Exists('$(_SerializerCsIntermediateFolder)') == 'true'" Text="$(_SGenWarningText)"/>
|
||||
<Copy Condition="Exists('$(_SerializerDllIntermediateFolder)') == 'true'" SourceFiles="$(_SerializerDllIntermediateFolder)" DestinationFolder="$(OutputPath)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CleanSerializationAssembly" AfterTargets="CoreClean">
|
||||
<Message Text="Cleaning serialization files..." Importance="normal"/>
|
||||
<Delete Condition="Exists('$(OutputPath)\$(SerializerName).dll') == 'true'" Files="$(OutputPath)\$(SerializerName).dll" />
|
||||
<Delete Condition="Exists('$(OutputPath)\$(_SerializationAssemblyName).dll') == 'true'" Files="$(OutputPath)\$(_SerializationAssemblyName).dll" />
|
||||
</Target>
|
||||
<Target Name="CopySerializer" AfterTargets="PrepareForPublish">
|
||||
|
||||
<Target Name="CopySerializationAssembly" AfterTargets="PrepareForPublish">
|
||||
<Copy Condition="Exists('$(OutputPath)\$(AssemblyName).XmlSerializers.dll')=='true'" SourceFiles="$(OutputPath)\$(AssemblyName).XmlSerializers.dll" DestinationFolder="$(PublishDir)" SkipUnchangedFiles="false" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateSerializationAssemblyForReferenceAssemblies" AfterTargets="GenerateSerializationAssembly" Condition="@(SerializationAssembly)!=''">
|
||||
<ItemGroup>
|
||||
<_SearchSerializationAssembly Include="@(Reference)">
|
||||
<AssemblyName>%(SerializationAssembly.Identity)</AssemblyName>
|
||||
<SerializationTypes>%(SerializationAssembly.SerializationType)</SerializationTypes>
|
||||
</_SearchSerializationAssembly>
|
||||
<_TargetSerializationAssembly Include="@(_SearchSerializationAssembly)" Condition="$([System.String]::new('%(_SearchSerializationAssembly.Identity)').EndsWith('%(_SearchSerializationAssembly.AssemblyName).dll'))" />
|
||||
<_ReferenceSerializationAssemblyName Include="%(SerializationAssembly.Identity).XmlSerializers" />
|
||||
<_ReferenceSerializerIntermediateFolder Include="$(IntermediateOutputPath)%(_ReferenceSerializationAssemblyName.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Delete Files="%(_ReferenceSerializerIntermediateFolder.Identity).dll" ContinueOnError="true"/>
|
||||
<Delete Files="%(_ReferenceSerializerIntermediateFolder.Identity).cs" ContinueOnError="true"/>
|
||||
<Delete Files="%(_ReferenceSerializerIntermediateFolder.Identity).pdb" ContinueOnError="true"/>
|
||||
<Message Text="Running Serialization Tool for Reference Assembly" Importance="normal" />
|
||||
<Exec Command="dotnet Microsoft.XmlSerializer.Generator /force /quiet /assembly:%(_TargetSerializationAssembly.Identity) /type:%(_TargetSerializationAssembly.SerializationTypes) /out:$(IntermediateOutputPath)" ContinueOnError="true" />
|
||||
<Warning Condition="Exists('$(IntermediateOutputPath)%(_ReferenceSerializationAssemblyName.Identity).cs') != 'true'" Text="SGEN : warning SGEN1: Fail to generate %(_ReferenceSerializationAssemblyName.Identity)'. Please follow the instructions at https://go.microsoft.com/fwlink/?linkid=858594 and try again." />
|
||||
<Csc Condition="Exists('$(IntermediateOutputPath)%(_ReferenceSerializationAssemblyName.Identity).cs') == 'true'" ContinueOnError="true" OutputAssembly="$(IntermediateOutputPath)%(_ReferenceSerializationAssemblyName.Identity).dll" References="@(ReferencePath);@(IntermediateAssembly)" EmitDebugInformation="$(DebugSymbols)" Sources="$(IntermediateOutputPath)%(_ReferenceSerializationAssemblyName.Identity).cs" TargetType="Library" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" DisabledWarnings="$(_SerializationAssemblyDisabledWarnings)"/>
|
||||
<Warning Condition="Exists('$(IntermediateOutputPath)%(_ReferenceSerializationAssemblyName.Identity).dll') != 'true' And Exists('$(IntermediateOutputPath)%(_ReferenceSerializationAssemblyName.Identity).cs') == 'true'" Text="SGEN : warning SGEN1: Fail to compile %(_ReferenceSerializationAssemblyName.Identity).cs. Please follow the instructions at https://go.microsoft.com/fwlink/?linkid=858594 and try again." />
|
||||
<Copy Condition="Exists('%(_ReferenceSerializerIntermediateFolder.Identity).dll') == 'true'" SourceFiles="%(_ReferenceSerializerIntermediateFolder.Identity).dll" DestinationFolder="$(OutputPath)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CleanReferenceSerializationAssemblies" AfterTargets="CoreClean" Condition="@(SerializationAssembly)!=''">
|
||||
<Message Text="Cleaning serialization files for reference assemblies ..." Importance="normal" />
|
||||
<Delete Condition="Exists('$(OutputPath)%(SerializationAssembly.Identity).XmlSerializers.dll') == 'true'" Files="$(OutputPath)%(SerializationAssembly.Identity).XmlSerializers.dll" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CopySerializerForReferenceAssemblies" AfterTargets="PrepareForPublish" Condition="@(SerializationAssembly)!=''">
|
||||
<Copy Condition="Exists('$(OutputPath)%(SerializationAssembly.Identity).XmlSerializers.dll') == 'true'" SourceFiles="$(OutputPath)%(SerializationAssembly.Identity).XmlSerializers.dll" DestinationFolder="$(PublishDir)" SkipUnchangedFiles="false" />
|
||||
</Target>
|
||||
</Project>
|
@@ -6,8 +6,6 @@
|
||||
<AssemblyName>dotnet-Microsoft.XmlSerializer.Generator</AssemblyName>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<StringResourcesPath>..\..\System.Private.Xml\src\Resources\Strings.resx</StringResourcesPath>
|
||||
<DefineConstants>$(DefineConstants);XMLSERIALIZERGENERATOR</DefineConstants>
|
||||
<SourceDir>..\..\System.Private.Xml\src</SourceDir>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
<NoWarn>$(NoWarn);0169;0414;0649</NoWarn>
|
||||
@@ -15,144 +13,8 @@
|
||||
<!-- Default configurations to help VS understand the options -->
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Release|AnyCPU'" />
|
||||
<ItemGroup Condition="'$(TargetGroup)' == 'netstandard'">
|
||||
<Compile Include="$(CommonPath)\System\CSharpHelpers.cs" />
|
||||
<Compile Include="$(CommonPath)\System\LocalAppContext.cs" />
|
||||
<Compile Include="$(SourceDir)\System\Xml\BinHexDecoder.cs">
|
||||
<Link>System\Xml\BinHexDecoder.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\BinHexEncoder.cs">
|
||||
<Link>System\Xml\BinHexEncoder.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Core\LocalAppContextSwitches.cs">
|
||||
<Link>System\Xml\Core\LocalAppContextSwitches.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Extensions\ExtensionMethods.cs">
|
||||
<Link>System\Xml\Extensions\ExtensionMethods.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\CodeGenerationoptions.cs">
|
||||
<Link>System\Xml\Serialization\CodeGenerationoptions.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\CodeIdentifier.cs">
|
||||
<Link>System\Xml\Serialization\CodeIdentifier.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\CodeIdentifiers.cs">
|
||||
<Link>System\Xml\Serialization\CodeIdentifiers.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Compilation.cs">
|
||||
<Link>System\Xml\Serialization\Compilation.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Compiler.cs">
|
||||
<Link>System\Xml\Serialization\Compiler.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Configuration\DateTimeSerializationSection.cs">
|
||||
<Link>System\Xml\Serialization\Configuration\DateTimeSerializationSection.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Globals.cs">
|
||||
<Link>System\Xml\Serialization\Globals.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\indentedWriter.cs">
|
||||
<Link>System\Xml\Serialization\indentedWriter.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\IXmlTextParser.cs">
|
||||
<Link>System\Xml\Serialization\IXmlTextParser.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Mappings.cs">
|
||||
<Link>System\Xml\Serialization\Mappings.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Models.cs">
|
||||
<Link>System\Xml\Serialization\Models.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\NameTable.cs">
|
||||
<Link>System\Xml\Serialization\NameTable.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\PrimitiveXmlSerializers.cs">
|
||||
<Link>System\Xml\Serialization\PrimitiveXmlSerializers.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\SoapReflectionImporter.cs">
|
||||
<Link>System\Xml\Serialization\SoapReflectionImporter.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\SoapSchemamember.cs">
|
||||
<Link>System\Xml\Serialization\SoapSchemamember.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\TypeCode.cs">
|
||||
<Link>System\Xml\Serialization\TypeCode.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\TypeExtensions.cs">
|
||||
<Link>System\Xml\Serialization\TypeExtensions.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Types.cs">
|
||||
<Link>System\Xml\Serialization\Types.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlAttributeOverrides.cs">
|
||||
<Link>System\Xml\Serialization\XmlAttributeOverrides.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlAttributes.cs">
|
||||
<Link>System\Xml\Serialization\XmlAttributes.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlCountingReader.cs">
|
||||
<Link>System\Xml\Serialization\XmlCountingReader.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\Xmlcustomformatter.cs">
|
||||
<Link>System\Xml\Serialization\Xmlcustomformatter.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlMapping.cs">
|
||||
<Link>System\Xml\Serialization\XmlMapping.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlMemberMapping.cs">
|
||||
<Link>System\Xml\Serialization\XmlMemberMapping.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlMembersMapping.cs">
|
||||
<Link>System\Xml\Serialization\XmlMembersMapping.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlReflectionImporter.cs">
|
||||
<Link>System\Xml\Serialization\XmlReflectionImporter.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlReflectionMember.cs">
|
||||
<Link>System\Xml\Serialization\XmlReflectionMember.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlSerializationGeneratedCode.cs">
|
||||
<Link>System\Xml\Serialization\XmlSerializationGeneratedCode.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlSerializationReader.cs">
|
||||
<Link>System\Xml\Serialization\XmlSerializationReader.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlSerializationWriter.cs">
|
||||
<Link>System\Xml\Serialization\XmlSerializationWriter.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlSerializer.cs">
|
||||
<Link>System\Xml\Serialization\XmlSerializer.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlSerializerFactory.cs">
|
||||
<Link>System\Xml\Serialization\XmlSerializerFactory.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlSerializerNamespaces.cs">
|
||||
<Link>System\Xml\Serialization\XmlSerializerNamespaces.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\XmlTypeMapping.cs">
|
||||
<Link>System\Xml\Serialization\XmlTypeMapping.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\Serialization\_Events.cs">
|
||||
<Link>System\Xml\Serialization\_Events.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\XmlCharType.cs">
|
||||
<Link>System\Xml\XmlCharType.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(SourceDir)\System\Xml\XmlReservedNs.cs">
|
||||
<Link>System\Xml\XmlReservedNs.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Microsoft\XmlSerializer\Generator\XmlSerializationGeneratedCode.cs" />
|
||||
<Compile Include="Microsoft\XmlSerializer\Generator\XmlSerializationReader.cs" />
|
||||
<Compile Include="Microsoft\XmlSerializer\Generator\XmlSerializationWriter.cs" />
|
||||
<Compile Include="Sgen.cs" />
|
||||
<Compile Include="System\Xml\Serialization\SoapAttributesExtensions.cs" />
|
||||
<Compile Include="System\Xml\Serialization\XmlAnyElementAttributeExtensions.cs" />
|
||||
<Compile Include="System\Xml\Serialization\XmlArrayItemAttributeExtensions.cs" />
|
||||
<Compile Include="System\Xml\Serialization\XmlChoiceIdentifierAttributeExtensions.cs" />
|
||||
<Compile Include="System\Xml\Serialization\XmlElementAttributeExtension.cs" />
|
||||
<Compile Include="System\Xml\Serialization\XmlRootAttributeExtensions.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
<Import Project=".\GenerateThisAssemblyCs.targets" />
|
||||
|
@@ -1,399 +0,0 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
namespace Microsoft.XmlSerializer.Generator
|
||||
{
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Threading;
|
||||
using System.Reflection;
|
||||
using System.Security;
|
||||
using System.Globalization;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
internal class XmlSerializationCodeGen
|
||||
{
|
||||
private IndentedWriter _writer;
|
||||
private int _nextMethodNumber = 0;
|
||||
private Hashtable _methodNames = new Hashtable();
|
||||
private ReflectionAwareCodeGen _raCodeGen;
|
||||
private TypeScope[] _scopes;
|
||||
private TypeDesc _stringTypeDesc = null;
|
||||
private TypeDesc _qnameTypeDesc = null;
|
||||
private string _access;
|
||||
private string _className;
|
||||
private TypeMapping[] _referencedMethods;
|
||||
private int _references = 0;
|
||||
private Hashtable _generatedMethods = new Hashtable();
|
||||
|
||||
internal XmlSerializationCodeGen(IndentedWriter writer, TypeScope[] scopes, string access, string className)
|
||||
{
|
||||
_writer = writer;
|
||||
_scopes = scopes;
|
||||
if (scopes.Length > 0)
|
||||
{
|
||||
_stringTypeDesc = scopes[0].GetTypeDesc(typeof(string));
|
||||
_qnameTypeDesc = scopes[0].GetTypeDesc(typeof(XmlQualifiedName));
|
||||
}
|
||||
_raCodeGen = new ReflectionAwareCodeGen(writer);
|
||||
_className = className;
|
||||
_access = access;
|
||||
}
|
||||
|
||||
internal IndentedWriter Writer { get { return _writer; } }
|
||||
internal int NextMethodNumber { get { return _nextMethodNumber; } set { _nextMethodNumber = value; } }
|
||||
internal ReflectionAwareCodeGen RaCodeGen { get { return _raCodeGen; } }
|
||||
internal TypeDesc StringTypeDesc { get { return _stringTypeDesc; } }
|
||||
internal TypeDesc QnameTypeDesc { get { return _qnameTypeDesc; } }
|
||||
internal string ClassName { get { return _className; } }
|
||||
internal string Access { get { return _access; } }
|
||||
internal TypeScope[] Scopes { get { return _scopes; } }
|
||||
internal Hashtable MethodNames { get { return _methodNames; } }
|
||||
internal Hashtable GeneratedMethods { get { return _generatedMethods; } }
|
||||
|
||||
internal virtual void GenerateMethod(TypeMapping mapping) { }
|
||||
|
||||
internal void GenerateReferencedMethods()
|
||||
{
|
||||
while (_references > 0)
|
||||
{
|
||||
TypeMapping mapping = _referencedMethods[--_references];
|
||||
GenerateMethod(mapping);
|
||||
}
|
||||
}
|
||||
|
||||
internal string ReferenceMapping(TypeMapping mapping)
|
||||
{
|
||||
if (!mapping.IsSoap)
|
||||
{
|
||||
if (_generatedMethods[mapping] == null)
|
||||
{
|
||||
_referencedMethods = EnsureArrayIndex(_referencedMethods, _references);
|
||||
_referencedMethods[_references++] = mapping;
|
||||
}
|
||||
}
|
||||
return (string)_methodNames[mapping];
|
||||
}
|
||||
|
||||
private TypeMapping[] EnsureArrayIndex(TypeMapping[] a, int index)
|
||||
{
|
||||
if (a == null) return new TypeMapping[32];
|
||||
if (index < a.Length) return a;
|
||||
TypeMapping[] b = new TypeMapping[a.Length + 32];
|
||||
Array.Copy(a, b, index);
|
||||
return b;
|
||||
}
|
||||
|
||||
internal void WriteQuotedCSharpString(string value)
|
||||
{
|
||||
_raCodeGen.WriteQuotedCSharpString(value);
|
||||
}
|
||||
|
||||
internal void GenerateHashtableGetBegin(string privateName, string publicName)
|
||||
{
|
||||
_writer.Write(typeof(Hashtable).FullName);
|
||||
_writer.Write(" ");
|
||||
_writer.Write(privateName);
|
||||
_writer.WriteLine(" = null;");
|
||||
_writer.Write("public override ");
|
||||
_writer.Write(typeof(Hashtable).FullName);
|
||||
|
||||
_writer.Write(" ");
|
||||
_writer.Write(publicName);
|
||||
_writer.WriteLine(" {");
|
||||
_writer.Indent++;
|
||||
|
||||
_writer.WriteLine("get {");
|
||||
_writer.Indent++;
|
||||
|
||||
_writer.Write("if (");
|
||||
_writer.Write(privateName);
|
||||
_writer.WriteLine(" == null) {");
|
||||
_writer.Indent++;
|
||||
|
||||
_writer.Write(typeof(Hashtable).FullName);
|
||||
_writer.Write(" _tmp = new ");
|
||||
_writer.Write(typeof(Hashtable).FullName);
|
||||
_writer.WriteLine("();");
|
||||
}
|
||||
|
||||
internal void GenerateHashtableGetEnd(string privateName)
|
||||
{
|
||||
_writer.Write("if (");
|
||||
_writer.Write(privateName);
|
||||
_writer.Write(" == null) ");
|
||||
_writer.Write(privateName);
|
||||
_writer.WriteLine(" = _tmp;");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
|
||||
_writer.Write("return ");
|
||||
_writer.Write(privateName);
|
||||
_writer.WriteLine(";");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
}
|
||||
internal void GeneratePublicMethods(string privateName, string publicName, string[] methods, XmlMapping[] xmlMappings)
|
||||
{
|
||||
GenerateHashtableGetBegin(privateName, publicName);
|
||||
if (methods != null && methods.Length != 0 && xmlMappings != null && xmlMappings.Length == methods.Length)
|
||||
{
|
||||
for (int i = 0; i < methods.Length; i++)
|
||||
{
|
||||
if (methods[i] == null)
|
||||
continue;
|
||||
_writer.Write("_tmp[");
|
||||
WriteQuotedCSharpString(xmlMappings[i].Key);
|
||||
_writer.Write("] = ");
|
||||
WriteQuotedCSharpString(methods[i]);
|
||||
_writer.WriteLine(";");
|
||||
}
|
||||
}
|
||||
GenerateHashtableGetEnd(privateName);
|
||||
}
|
||||
|
||||
internal void GenerateSupportedTypes(Type[] types)
|
||||
{
|
||||
_writer.Write("public override ");
|
||||
_writer.Write(typeof(bool).FullName);
|
||||
_writer.Write(" CanSerialize(");
|
||||
_writer.Write(typeof(Type).FullName);
|
||||
_writer.WriteLine(" type) {");
|
||||
_writer.Indent++;
|
||||
Hashtable uniqueTypes = new Hashtable();
|
||||
for (int i = 0; i < types.Length; i++)
|
||||
{
|
||||
Type type = types[i];
|
||||
|
||||
if (type == null)
|
||||
continue;
|
||||
if (!type.IsPublic && !type.IsNestedPublic)
|
||||
continue;
|
||||
if (uniqueTypes[type] != null)
|
||||
continue;
|
||||
if (DynamicAssemblies.IsTypeDynamic(type))
|
||||
continue;
|
||||
if (type.IsGenericType || type.ContainsGenericParameters && DynamicAssemblies.IsTypeDynamic(type.GetGenericArguments()))
|
||||
continue;
|
||||
uniqueTypes[type] = type;
|
||||
_writer.Write("if (type == typeof(");
|
||||
_writer.Write(CodeIdentifier.GetCSharpName(type));
|
||||
_writer.WriteLine(")) return true;");
|
||||
}
|
||||
_writer.WriteLine("return false;");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
}
|
||||
|
||||
internal string GenerateBaseSerializer(string baseSerializer, string readerClass, string writerClass, CodeIdentifiers classes)
|
||||
{
|
||||
baseSerializer = CodeIdentifier.MakeValid(baseSerializer);
|
||||
baseSerializer = classes.AddUnique(baseSerializer, baseSerializer);
|
||||
|
||||
_writer.WriteLine();
|
||||
_writer.Write("public abstract class ");
|
||||
_writer.Write(CodeIdentifier.GetCSharpName(baseSerializer));
|
||||
_writer.Write(" : ");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializer).FullName);
|
||||
_writer.WriteLine(" {");
|
||||
_writer.Indent++;
|
||||
|
||||
_writer.Write("protected override ");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializationReader).FullName);
|
||||
_writer.WriteLine(" CreateReader() {");
|
||||
_writer.Indent++;
|
||||
_writer.Write("return new ");
|
||||
_writer.Write(readerClass);
|
||||
_writer.WriteLine("();");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
|
||||
_writer.Write("protected override ");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializationWriter).FullName);
|
||||
_writer.WriteLine(" CreateWriter() {");
|
||||
_writer.Indent++;
|
||||
_writer.Write("return new ");
|
||||
_writer.Write(writerClass);
|
||||
_writer.WriteLine("();");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
|
||||
return baseSerializer;
|
||||
}
|
||||
|
||||
internal string GenerateTypedSerializer(string readMethod, string writeMethod, XmlMapping mapping, CodeIdentifiers classes, string baseSerializer, string readerClass, string writerClass)
|
||||
{
|
||||
string serializerName = CodeIdentifier.MakeValid(Accessor.UnescapeName(mapping.Accessor.Mapping.TypeDesc.Name));
|
||||
serializerName = classes.AddUnique(serializerName + "Serializer", mapping);
|
||||
|
||||
_writer.WriteLine();
|
||||
_writer.Write("public sealed class ");
|
||||
_writer.Write(CodeIdentifier.GetCSharpName(serializerName));
|
||||
_writer.Write(" : ");
|
||||
_writer.Write(baseSerializer);
|
||||
_writer.WriteLine(" {");
|
||||
_writer.Indent++;
|
||||
|
||||
_writer.WriteLine();
|
||||
_writer.Write("public override ");
|
||||
_writer.Write(typeof(bool).FullName);
|
||||
_writer.Write(" CanDeserialize(");
|
||||
_writer.Write(typeof(XmlReader).FullName);
|
||||
_writer.WriteLine(" xmlReader) {");
|
||||
_writer.Indent++;
|
||||
|
||||
if (mapping.Accessor.Any)
|
||||
{
|
||||
_writer.WriteLine("return true;");
|
||||
}
|
||||
else
|
||||
{
|
||||
_writer.Write("return xmlReader.IsStartElement(");
|
||||
WriteQuotedCSharpString(mapping.Accessor.Name);
|
||||
_writer.Write(", ");
|
||||
WriteQuotedCSharpString(mapping.Accessor.Namespace);
|
||||
_writer.WriteLine(");");
|
||||
}
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
|
||||
if (writeMethod != null)
|
||||
{
|
||||
_writer.WriteLine();
|
||||
_writer.Write("protected override void Serialize(object objectToSerialize, ");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializationWriter).FullName);
|
||||
_writer.WriteLine(" writer) {");
|
||||
_writer.Indent++;
|
||||
_writer.Write("((");
|
||||
_writer.Write(writerClass);
|
||||
_writer.Write(")writer).");
|
||||
_writer.Write(writeMethod);
|
||||
_writer.Write("(");
|
||||
if (mapping is XmlMembersMapping)
|
||||
{
|
||||
_writer.Write("(object[])");
|
||||
}
|
||||
_writer.WriteLine("objectToSerialize);");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
}
|
||||
if (readMethod != null)
|
||||
{
|
||||
_writer.WriteLine();
|
||||
_writer.Write("protected override object Deserialize(");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializationReader).FullName);
|
||||
_writer.WriteLine(" reader) {");
|
||||
_writer.Indent++;
|
||||
_writer.Write("return ((");
|
||||
_writer.Write(readerClass);
|
||||
_writer.Write(")reader).");
|
||||
_writer.Write(readMethod);
|
||||
_writer.WriteLine("();");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
}
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
|
||||
return serializerName;
|
||||
}
|
||||
|
||||
private void GenerateTypedSerializers(Hashtable serializers)
|
||||
{
|
||||
string privateName = "typedSerializers";
|
||||
GenerateHashtableGetBegin(privateName, "TypedSerializers");
|
||||
|
||||
foreach (string key in serializers.Keys)
|
||||
{
|
||||
_writer.Write("_tmp.Add(");
|
||||
WriteQuotedCSharpString(key);
|
||||
_writer.Write(", new ");
|
||||
_writer.Write((string)serializers[key]);
|
||||
_writer.WriteLine("());");
|
||||
}
|
||||
GenerateHashtableGetEnd("typedSerializers");
|
||||
}
|
||||
|
||||
//GenerateGetSerializer(serializers, xmlMappings);
|
||||
private void GenerateGetSerializer(Hashtable serializers, XmlMapping[] xmlMappings)
|
||||
{
|
||||
_writer.Write("public override ");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializer).FullName);
|
||||
_writer.Write(" GetSerializer(");
|
||||
_writer.Write(typeof(Type).FullName);
|
||||
_writer.WriteLine(" type) {");
|
||||
_writer.Indent++;
|
||||
|
||||
for (int i = 0; i < xmlMappings.Length; i++)
|
||||
{
|
||||
if (xmlMappings[i] is XmlTypeMapping)
|
||||
{
|
||||
Type type = xmlMappings[i].Accessor.Mapping.TypeDesc.Type;
|
||||
if (type == null)
|
||||
continue;
|
||||
if (!type.IsPublic && !type.IsNestedPublic)
|
||||
continue;
|
||||
if (DynamicAssemblies.IsTypeDynamic(type))
|
||||
continue;
|
||||
if (type.IsGenericType || type.ContainsGenericParameters && DynamicAssemblies.IsTypeDynamic(type.GetGenericArguments()))
|
||||
continue;
|
||||
_writer.Write("if (type == typeof(");
|
||||
_writer.Write(CodeIdentifier.GetCSharpName(type));
|
||||
_writer.Write(")) return new ");
|
||||
_writer.Write((string)serializers[xmlMappings[i].Key]);
|
||||
_writer.WriteLine("();");
|
||||
}
|
||||
}
|
||||
_writer.WriteLine("return null;");
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
}
|
||||
|
||||
internal void GenerateSerializerContract(string className, XmlMapping[] xmlMappings, Type[] types, string readerType, string[] readMethods, string writerType, string[] writerMethods, Hashtable serializers)
|
||||
{
|
||||
_writer.WriteLine();
|
||||
_writer.Write("public class XmlSerializerContract : global::");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializerImplementation).FullName);
|
||||
_writer.WriteLine(" {");
|
||||
_writer.Indent++;
|
||||
|
||||
_writer.Write("public override global::");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializationReader).FullName);
|
||||
_writer.Write(" Reader { get { return new ");
|
||||
_writer.Write(readerType);
|
||||
_writer.WriteLine("(); } }");
|
||||
|
||||
_writer.Write("public override global::");
|
||||
_writer.Write(typeof(System.Xml.Serialization.XmlSerializationWriter).FullName);
|
||||
_writer.Write(" Writer { get { return new ");
|
||||
_writer.Write(writerType);
|
||||
_writer.WriteLine("(); } }");
|
||||
|
||||
GeneratePublicMethods(nameof(readMethods), "ReadMethods", readMethods, xmlMappings);
|
||||
GeneratePublicMethods("writeMethods", "WriteMethods", writerMethods, xmlMappings);
|
||||
GenerateTypedSerializers(serializers);
|
||||
GenerateSupportedTypes(types);
|
||||
GenerateGetSerializer(serializers, xmlMappings);
|
||||
|
||||
_writer.Indent--;
|
||||
_writer.WriteLine("}");
|
||||
}
|
||||
|
||||
internal static bool IsWildcard(SpecialMapping mapping)
|
||||
{
|
||||
if (mapping is SerializableMapping)
|
||||
return ((SerializableMapping)mapping).IsAny;
|
||||
return mapping.TypeDesc.CanBeElementValue;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1 +0,0 @@
|
||||
655dfaa141f8b465e43fe5658200a965c3be83e9
|
File diff suppressed because it is too large
Load Diff
@@ -9,6 +9,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Microsoft.XmlSerializer.Generator
|
||||
{
|
||||
@@ -79,7 +80,14 @@ namespace Microsoft.XmlSerializer.Generator
|
||||
}
|
||||
else if (ArgumentMatch(arg, "type"))
|
||||
{
|
||||
types.Add(value);
|
||||
if (value != string.Empty)
|
||||
{
|
||||
string[] typelist = value.Split(';');
|
||||
foreach (var type in typelist)
|
||||
{
|
||||
types.Add(type);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (ArgumentMatch(arg, "assembly"))
|
||||
{
|
||||
@@ -155,7 +163,7 @@ namespace Microsoft.XmlSerializer.Generator
|
||||
if(disableRun)
|
||||
{
|
||||
Console.WriteLine("This tool is not intended to be used directly.");
|
||||
Console.WriteLine("Please refer to https://github.com/dotnet/core/blob/master/samples/xmlserializergenerator-instructions.md on how to use it.");
|
||||
Console.WriteLine("Please refer to https://go.microsoft.com/fwlink/?linkid=858594 on how to use it.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -256,7 +264,7 @@ namespace Microsoft.XmlSerializer.Generator
|
||||
|
||||
bool gac = assembly.GlobalAssemblyCache;
|
||||
outputDirectory = outputDirectory == null ? (gac ? Environment.CurrentDirectory : Path.GetDirectoryName(assembly.Location)) : outputDirectory;
|
||||
string serializerName = XmlSerializer.GetXmlSerializerAssemblyName(serializableTypes[0], null);
|
||||
string serializerName = GetXmlSerializerAssemblyName(serializableTypes[0], null);
|
||||
string codePath = Path.Combine(outputDirectory, serializerName + ".cs");
|
||||
|
||||
if (!force)
|
||||
@@ -287,7 +295,15 @@ namespace Microsoft.XmlSerializer.Generator
|
||||
|
||||
using (FileStream fs = File.Create(codePath))
|
||||
{
|
||||
success = XmlSerializer.GenerateSerializer(serializableTypes, allMappings, fs);
|
||||
MethodInfo method = typeof(System.Xml.Serialization.XmlSerializer).GetMethod("GenerateSerializer", BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
|
||||
if (method == null)
|
||||
{
|
||||
Console.Error.WriteLine(FormatMessage(parsableerrors: false, warning: false, message: SR.GenerateSerializerNotFound));
|
||||
}
|
||||
else
|
||||
{
|
||||
success = (bool)method.Invoke(null, new object[] { serializableTypes, allMappings, fs });
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (UnauthorizedAccessException)
|
||||
@@ -359,22 +375,6 @@ namespace Microsoft.XmlSerializer.Generator
|
||||
}
|
||||
if (xmlTypeMapping != null)
|
||||
{
|
||||
if (xmlTypeMapping.Mapping != null && xmlTypeMapping.Mapping is StructMapping)
|
||||
{
|
||||
foreach (MemberMapping memberMapping in ((StructMapping)xmlTypeMapping.Mapping).Members)
|
||||
{
|
||||
MemberInfo memberInfo = memberMapping.MemberInfo;
|
||||
if (memberInfo != null && memberInfo.MemberType == MemberTypes.Property)
|
||||
{
|
||||
PropertyInfo propertyInfo = memberInfo as PropertyInfo;
|
||||
if (propertyInfo != null && (propertyInfo.SetMethod == null || !propertyInfo.SetMethod.IsPublic))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
xmlTypeMapping = importer.ImportTypeMapping(type);
|
||||
mappings.Add(xmlTypeMapping);
|
||||
importedTypes.Add(type);
|
||||
@@ -384,7 +384,7 @@ namespace Microsoft.XmlSerializer.Generator
|
||||
private static Assembly LoadAssembly(string assemblyName, bool throwOnFail)
|
||||
{
|
||||
Assembly assembly = null;
|
||||
string path = Path.GetFullPath(assemblyName);
|
||||
string path = Path.IsPathRooted(assemblyName) ? assemblyName : Path.GetFullPath(assemblyName);
|
||||
assembly = Assembly.LoadFile(path);
|
||||
if (assembly == null)
|
||||
{
|
||||
@@ -448,5 +448,24 @@ namespace Microsoft.XmlSerializer.Generator
|
||||
WriteWarning(e.InnerException, parsableerrors);
|
||||
}
|
||||
}
|
||||
|
||||
private static string GetXmlSerializerAssemblyName(Type type)
|
||||
{
|
||||
return GetXmlSerializerAssemblyName(type, null);
|
||||
}
|
||||
|
||||
private static string GetXmlSerializerAssemblyName(Type type, string defaultNamespace)
|
||||
{
|
||||
if (type == null)
|
||||
{
|
||||
throw new ArgumentNullException("type");
|
||||
}
|
||||
return GetTempAssemblyName(type.Assembly.GetName(), defaultNamespace);
|
||||
}
|
||||
|
||||
private static string GetTempAssemblyName(AssemblyName parent, string ns)
|
||||
{
|
||||
return parent.Name + ".XmlSerializers" + (ns == null || ns.Length == 0 ? "" : "." + ns.GetHashCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<BuildConfigurations>
|
||||
netstandard;
|
||||
netfx;
|
||||
uap;
|
||||
netcoreapp;
|
||||
</BuildConfigurations>
|
||||
|
@@ -6,7 +6,7 @@
|
||||
<DefineConstants>$(DefineConstants);XMLSERIALIZERGENERATORTESTS</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SkipTestsOnPlatform Condition="'$(TargetGroup)' == 'uap' OR '$(ArchGroup)' == 'arm' OR '$(ArchGroup)' == 'arm64' OR '$(ArchGroup)' == 'armel'">true</SkipTestsOnPlatform>
|
||||
<SkipTestsOnPlatform Condition="'$(TargetGroup)' == 'uap' OR '$(ArchGroup)' == 'arm' OR '$(ArchGroup)' == 'arm64' OR '$(ArchGroup)' == 'armel' OR '$(TargetGroup)' == 'netfx'">true</SkipTestsOnPlatform>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
|
||||
<!-- We're building netcoreap, run on the test CLI
|
||||
@@ -20,8 +20,10 @@
|
||||
<GeneratorRuntimeConfig>$(ToolsDir)csc.runtimeconfig.json</GeneratorRuntimeConfig>
|
||||
<GeneratorCliPath>$(ToolsDir)dotnetcli/</GeneratorCliPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='netstandard-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='netstandard-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netfx-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netfx-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uap-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uap-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Debug|AnyCPU'" />
|
||||
|
Reference in New Issue
Block a user