Skip to content

Commit

Permalink
Merge branch 'feature/inlineil-migration' into devel
Browse files Browse the repository at this point in the history
  • Loading branch information
kekyo committed Oct 16, 2021
2 parents 9d25fa8 43f15a1 commit d99255e
Show file tree
Hide file tree
Showing 10 changed files with 120 additions and 78 deletions.
4 changes: 2 additions & 2 deletions docs/supported-opcodes.md
Original file line number Diff line number Diff line change
@@ -1,7 1,7 @@
# Supported IL opcodes

* Number of opcode implementations: 140 / 219
* Number of opcode tests: 928 [81 / 219]
* Number of opcode tests: 930 [81 / 219]

OpCode | Binary | Implement | Test | ILConverter
|:---|:---|:---|:---|:---|
Expand Down Expand Up @@ -212,7 212,7 @@ OpCode | Binary | Implement | Test | ILConverter
| [stloc.3](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.stloc_3) | 0xd | Implemented | [Test [16]](../tests/IL2C.Core.Test.ILConverters/Stloc_3) | IL2C.ILConverters.Stloc_3Converter |
| [stloc.s](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.stloc_s) | 0x13 | Implemented | [Test [17]](../tests/IL2C.Core.Test.ILConverters/Stloc_s) | IL2C.ILConverters.Stloc_SConverter |
| [stobj](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.stobj) | 0x81 | | | |
| [stsfld](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.stsfld) | 0x80 | Implemented | [Test [14]](../tests/IL2C.Core.Test.ILConverters/Stsfld) | IL2C.ILConverters.StsfldConverter |
| [stsfld](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.stsfld) | 0x80 | Implemented | [Test [16]](../tests/IL2C.Core.Test.ILConverters/Stsfld) | IL2C.ILConverters.StsfldConverter |
| [sub](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.sub) | 0x59 | Implemented | [Test [11]](../tests/IL2C.Core.Test.ILConverters/Sub) | IL2C.ILConverters.SubConverter |
| [sub.ovf](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.sub_ovf) | 0xda | | | |
| [sub.ovf.un](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes.sub_ovf_un) | 0xdb | | | |
Expand Down
2 changes: 0 additions & 2 deletions init-tools.bat
Original file line number Diff line number Diff line change
@@ -1,6 1,4 @@
@echo off
echo "Setup nbgv ..."
dotnet tool install -g nbgv

echo "Setup native binary toolchain (IL2C-toolchain-gcc4-mingw32) ..."

Expand Down
3 changes: 0 additions & 3 deletions init-tools.sh
Original file line number Diff line number Diff line change
@@ -1,8 1,5 @@
#!/bin/sh

echo "Setup nbgv ..."
dotnet tool install -g nbgv

echo "Setup native binary toolchain ..."

apt-get update -y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
<CheckEolTargetFramework>false</CheckEolTargetFramework>

<OutputType>Library</OutputType>
<Optimize>False</Optimize>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
Expand Down
132 changes: 88 additions & 44 deletions tests/IL2C.Core.Test.Common/ILSupport.Standard.targets
Original file line number Diff line number Diff line change
@@ -1,8 1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<!-- ====================================================================== -->

<!-- Imported from: Microsoft.NET.Sdk.IL.targets
https://github.com/kekyo/IL2C/issues/100#issuecomment-944294766
https://github.com/dotnet/runtime/blob/57bfe474518ab5b7cfe6bf7424a79ce3af9d6657/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/targets/Microsoft.NET.Sdk.IL.targets#L29
-->

<PropertyGroup>
<_OSPlatform Condition="$([MSBuild]::IsOSPlatform('windows'))">win</_OSPlatform>
<_OSPlatform Condition="$([MSBuild]::IsOSPlatform('linux'))">linux</_OSPlatform>
<_OSPlatform Condition="$([MSBuild]::IsOSPlatform('osx'))">osx</_OSPlatform>
<_OSPlatform Condition="$([MSBuild]::IsOSPlatform('freebsd'))">freebsd</_OSPlatform>
<_OSPlatform Condition="$([MSBuild]::IsOSPlatform('netbsd'))">netbsd</_OSPlatform>
<_OSPlatform Condition="$([MSBuild]::IsOSPlatform('illumos'))">illumos</_OSPlatform>
<_OSPlatform Condition="$([MSBuild]::IsOSPlatform('solaris'))">solaris</_OSPlatform>
<_OSArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)</_OSArchitecture>

<MicrosoftNetCoreIlasmPackageRuntimeId Condition="'$(MicrosoftNetCoreIlasmPackageRuntimeId)' == ''">$(_OSPlatform)-$(_OSArchitecture.ToLower())</MicrosoftNetCoreIlasmPackageRuntimeId>
<!-- It's RC version, but latest stable 5.0.0 cause unknown bug (0xc0000004) occurred -->
<MicrosoftNETCoreILAsmVersion Condition="'$(MicrosoftNETCoreILAsmVersion)' == ''">6.0.0-rc.2.21480.5</MicrosoftNETCoreILAsmVersion>
<MicrosoftNetCoreIlasmPackageName>runtime.$(MicrosoftNetCoreIlasmPackageRuntimeId).microsoft.netcore.ilasm</MicrosoftNetCoreIlasmPackageName>
<MicrosoftNetCoreIldasmPackageName>runtime.$(MicrosoftNetCoreIlasmPackageRuntimeId).microsoft.netcore.ildasm</MicrosoftNetCoreIldasmPackageName>

<!-- If ILAsmToolPath is specified, it will be used and no packages will be restored
Otherwise packages will be restored and ilasm and ildasm will be referenced from their packages. -->
<_IlasmDir Condition="'$(ILAsmToolPath)' != ''">$([MSBuild]::NormalizeDirectory($(ILAsmToolPath)))</_IlasmDir>
<_IldasmDir Condition="'$(ILAsmToolPath)' != ''">$([MSBuild]::NormalizeDirectory($(ILAsmToolPath)))</_IldasmDir>
<CoreCompileDependsOn Condition="'$(ILAsmToolPath)' == ''">$(CoreCompileDependsOn);ResolveIlAsmToolPaths</CoreCompileDependsOn>
</PropertyGroup>
<ItemGroup Condition="'$(ILAsmToolPath)' == ''">
<_IlasmPackageReference Include="$(MicrosoftNetCoreIlasmPackageName)" Version="$(MicrosoftNETCoreILAsmVersion)" />
<_IldasmPackageReference Include="$(MicrosoftNetCoreIldasmPackageName)" Version="$(MicrosoftNETCoreILAsmVersion)" />

<!-- Made NuGet package referrer likes:
For windows x64: runtime.win-x64.Microsoft.NETCore.ILAsm
For linux x64: runtime.linux-x64.Microsoft.NETCore.ILAsm
-->
<PackageReference Include="@(_IlasmPackageReference)" ExcludeAssets="all" PrivateAssets="all" />
<PackageReference Include="@(_IldasmPackageReference)" ExcludeAssets="all" PrivateAssets="all" />
</ItemGroup>
<Target Name="ResolveIlAsmToolPaths">
<ItemGroup>
<_IlasmPackageReference NativePath="$(NuGetPackageRoot)\%(Identity)\%(Version)\runtimes\$(MicrosoftNetCoreIlasmPackageRuntimeId)\native" />
<_IlasmSourceFiles Include="%(_IlasmPackageReference.NativePath)\**\*" />
<_IldasmPackageReference NativePath="$(NuGetPackageRoot)\%(Identity)\%(Version)\runtimes\$(MicrosoftNetCoreIlasmPackageRuntimeId)\native" />
<_IldasmSourceFiles Include="%(_IldasmPackageReference.NativePath)\**\*" />
</ItemGroup>
<Error Condition="!Exists('%(_IlasmPackageReference.NativePath)')" Text="Package %(_IlasmPackageReference.Identity)\%(_IlasmPackageReference.Version) was not restored" />
<Error Condition="!Exists('%(_IldasmPackageReference.NativePath)')" Text="Package %(_IldasmPackageReference.Identity)\%(_IldasmPackageReference.Version) was not restored" />
<PropertyGroup>
<_IlasmDir Condition="'$(_IlasmDir)' == '' and '%(_IlasmPackageReference.Identity)' == '$(MicrosoftNetCoreIlasmPackageName)'">%(_IlasmPackageReference.NativePath)/</_IlasmDir>
<_IldasmDir Condition="'$(_IldasmDir)' == '' and '%(_IldasmPackageReference.Identity)' == '$(MicrosoftNetCoreIldasmPackageName)'">%(_IldasmPackageReference.NativePath)/</_IldasmDir>

<!-- Resolved final tooling path -->
<ILAsmPath>$([System.IO.Path]::Combine('$(_IlasmDir)','ilasm'))</ILAsmPath>
<ILDasmPath>$([System.IO.Path]::Combine('$(_IldasmDir)','ildasm'))</ILDasmPath>
</PropertyGroup>
</Target>

<!-- ====================================================================== -->

<!-- Modified IL Support: https://github.com/ins0mniaque/ILSupport
My version contains combining all decompiled source code into one file.
Because will cause too long command line arguments coming from a lot of decompiled file paths. -->

<Target Name="ProcessILAfterCompile" AfterTargets="Compile">
<CallTarget Targets="InitializeIL; CoreDecompile; CoreCompileIL" />
</Target>
Expand All @@ -13,41 76,10 @@
</PropertyGroup>
</Target>
<Target Name="CoreDecompile" Inputs="@(IntermediateAssembly)" Outputs="$(ILFile)" Condition=" Exists ( @(IntermediateAssembly) ) ">
<GetFrameworkSdkPath>
<Output TaskParameter="Path" PropertyName="FrameworkSdkPath" />
</GetFrameworkSdkPath>
<Message Importance="high" Text="ILSupport: FrameworkSdkPath = $(FrameworkSdkPath)" />
<Message Importance="normal" Text="ILSupport: ILDasmPath = $(ILDasmPath)" />
<PropertyGroup>
<ILDasm>"$(FrameworkSdkPath)bin\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.0 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.0 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.5.1 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.5.1 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.6 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.6 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
<ILDasm>&quot;$(ILDasmPath)&quot; /linenum /utf8 /output=&quot;$(ILFile)&quot; @(IntermediateAssembly->'&quot;%(FullPath)&quot;', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.6.1 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.6.1 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.6.2 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.6.2 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.7 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.7 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.7.1 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.7.1 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.7.2 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.7.2 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<PropertyGroup Condition=" Exists ( '$(FrameworkSdkPath)bin\NETFX 4.8 Tools\ildasm.exe' ) ">
<ILDasm>"$(FrameworkSdkPath)bin\NETFX 4.8 Tools\ildasm.exe" /nobar /linenum /utf8 /output:"$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ')</ILDasm>
</PropertyGroup>
<Message Importance="high" Text="ILSupport: ILDasm = $(ILDasm)" />
<Exec Command="$(ILDasm)" />
<ItemGroup>
<FileWrites Include="$(ILFile)" />
Expand All @@ -65,15 97,13 @@
<PropertyGroup>
<ILSource />
</PropertyGroup>
<Delete Files="@(IntermediateAssembly)" />
<Move SourceFiles="@(IntermediateAssembly)" DestinationFiles="@(IntermediateAssembly->'%(FullPath).orig', ' ')" OverwriteReadOnlyFiles="true" />
</Target>
<Target Name="CoreCompileIL" Inputs="@(IL)" Outputs="@(IntermediateAssembly)">
<GetFrameworkPath>
<Output TaskParameter="Path" PropertyName="FrameworkPath" />
</GetFrameworkPath>
<Message Importance="high" Text="ILSupport: FrameworkPath = $(FrameworkPath)" />
<Message Importance="normal" Text="ILSupport: ILAsmPath = $(ILAsmPath)" />
<PropertyGroup>
<ILAsm>"$(FrameworkPath)\ilasm.exe" /nologo /quiet /output:@(IntermediateAssembly->'"%(FullPath)"', ' ')</ILAsm>
<ILAsm>&quot;$(ILAsmPath)&quot; /nologo /quite /output=@(IntermediateAssembly->'&quot;%(FullPath)&quot;', ' ')</ILAsm>
<MergedILPath>$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)','$(IntermediateOutputPath)','Merged.il'))</MergedILPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(FileAlignment)' != '' ">
<ILAsm>$(ILAsm) /alignment=$(FileAlignment)</ILAsm>
Expand All @@ -85,10 115,20 @@
<ILAsm>$(ILAsm) /dll</ILAsm>
</PropertyGroup>
<PropertyGroup Condition=" '$(DebugType)' == 'pdbonly' ">
<ILAsm>$(ILAsm) /pdb</ILAsm>
<!-- warning : Classic PDB format is not supported on CoreCLR. -->
<ILAsm>$(ILAsm) /debug=opt /pdbfmt=portable</ILAsm>
</PropertyGroup>
<PropertyGroup Condition=" '$(DebugType)' == 'impl' ">
<!-- warning : Classic PDB format is not supported on CoreCLR. -->
<ILAsm>$(ILAsm) /debug=impl /pdbfmt=portable</ILAsm>
</PropertyGroup>
<PropertyGroup Condition=" '$(DebugType)' == 'portable' ">
<!-- warning : Classic PDB format is not supported on CoreCLR. -->
<ILAsm>$(ILAsm) /debug /pdbfmt=portable</ILAsm>
</PropertyGroup>
<PropertyGroup Condition=" '$(DebugType)' == 'full' ">
<ILAsm>$(ILAsm) /debug</ILAsm>
<!-- warning : Classic PDB format is not supported on CoreCLR. -->
<ILAsm>$(ILAsm) /debug /pdbfmt=portable</ILAsm>
</PropertyGroup>
<PropertyGroup Condition=" '$(Optimize)' == 'true' ">
<ILAsm>$(ILAsm) /optimize</ILAsm>
Expand All @@ -99,21 139,25 @@
<PropertyGroup Condition=" '$(AssemblyOriginatorKeyFile)' != '' ">
<ILAsm>$(ILAsm) /key:"$(AssemblyOriginatorKeyFile)"</ILAsm>
</PropertyGroup>
<!-- Couldn't combine resources with ILAsm .NET 5.0 version.
IL2C regression test doesn't require Win32 resources, so simply omitted.
<PropertyGroup Condition=" Exists ( '$(ILResourceFile)' ) ">
<ILAsm>$(ILAsm) /resource:"$(ILResourceFile)"</ILAsm>
</PropertyGroup>
-->
<PropertyGroup Condition=" Exists ( '$(ILFile)' ) ">
<ILAsm>$(ILAsm) "$(ILFile)"</ILAsm>
</PropertyGroup>
<ReadLinesFromFile File="%(IL.Identity)">
<Output TaskParameter="Lines" ItemName="ILLines" />
</ReadLinesFromFile>
<WriteLinesToFile File="obj\Merged.il" Lines="@(ILLines)" Overwrite="true" />
<Message Importance="high" Text="ILSupport: ILAsm = $(ILAsm)" />
<Exec Command="$(ILAsm) obj\Merged.il" />
<WriteLinesToFile File="$(MergedILPath)" Lines="@(ILLines)" Overwrite="true" />
<Message Importance="normal" Text="ILSupport: ILAsm = $(ILAsm)" />
<Exec Command="$(ILAsm) &quot;$(MergedILPath)&quot;" />
<ItemGroup>
<FileWrites Include="@(IntermediateAssembly->'%(RootDir)%(Directory)DesignTimeResolveAssemblyReferencesInput.cache', ' ')" />
</ItemGroup>
<Touch Files="$(ILFile)" />
<Message Importance="high" Text="ILSupport: Combined both C# and IL into single assembly: $(AssemblyName).dll" />
</Target>
</Project>
24 changes: 12 additions & 12 deletions tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,39 45,39 @@ namespace IL2C.ILConverters
public sealed class Conv_r8
{
[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float SByte(sbyte value);
public static extern double SByte(sbyte value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float Int16(short value);
public static extern double Int16(short value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float Int32(int value);
public static extern double Int32(int value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float Int64(long value);
public static extern double Int64(long value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float IntPtr(IntPtr value);
public static extern double IntPtr(IntPtr value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float Byte(byte value);
public static extern double Byte(byte value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float UInt16(ushort value);
public static extern double UInt16(ushort value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float UInt32(uint value);
public static extern double UInt32(uint value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float UInt64(ulong value);
public static extern double UInt64(ulong value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float UIntPtr(UIntPtr value);
public static extern double UIntPtr(UIntPtr value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float Single(float value);
public static extern double Single(float value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern float Double(double value);
public static extern double Double(double value);
}
}
24 changes: 12 additions & 12 deletions tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,39 37,39 @@ namespace IL2C.ILConverters
public sealed class Conv_u
{
[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr SByte(sbyte value);
public static extern UIntPtr SByte(sbyte value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr Int16(short value);
public static extern UIntPtr Int16(short value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr Int32(int value);
public static extern UIntPtr Int32(int value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr Int64(long value);
public static extern UIntPtr Int64(long value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr IntPtr(IntPtr value);
public static extern UIntPtr IntPtr(IntPtr value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr Byte(byte value);
public static extern UIntPtr Byte(byte value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr UInt16(ushort value);
public static extern UIntPtr UInt16(ushort value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr UInt32(uint value);
public static extern UIntPtr UInt32(uint value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr UInt64(ulong value);
public static extern UIntPtr UInt64(ulong value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr UIntPtr(UIntPtr value);
public static extern UIntPtr UIntPtr(UIntPtr value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr Single(float value);
public static extern UIntPtr Single(float value);

[MethodImpl(MethodImplOptions.ForwardRef)]
public static extern IntPtr Double(double value);
public static extern UIntPtr Double(double value);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 5,7 @@
<CheckEolTargetFramework>false</CheckEolTargetFramework>

<OutputType>Library</OutputType>
<Optimize>False</Optimize>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
Expand Down
Loading

0 comments on commit d99255e

Please sign in to comment.