Support .NET 5 for EPPlus SDK and package as a .nupkg. This change: - Adds an SDK-style project for EPPlus, which is multi-targeted - Drops support for the RIPEMD-160 hash, which is not supported in .NET 5. This is only used for (older) encrypted Excel files, which we don't support anyway. - Adds Nuget packaging support for EPPlus To generate the .nupkg, run: dotnet pack EPPlus/EPPlusSDK.csproj -c Release Change-Id: I7db0f3be1d7d28a891a61641a214a7d522ccc590
diff --git a/EPPlus/EPPlusSDK.csproj b/EPPlus/EPPlusSDK.csproj new file mode 100644 index 0000000..b2ec784 --- /dev/null +++ b/EPPlus/EPPlusSDK.csproj
@@ -0,0 +1,22 @@ +<Project Sdk="Microsoft.NET.Sdk"> + <PropertyGroup> + <TargetFrameworks>net472;net5.0</TargetFrameworks> + <RootNamespace>OfficeOpenXml</RootNamespace> + <AssemblyName>EPPlus</AssemblyName> + <SignAssembly>true</SignAssembly> + <AssemblyOriginatorKeyFile>OpenOfficeXml.snk</AssemblyOriginatorKeyFile> + <PackageId>Appsheet.EPPlus</PackageId> + <Version>1.0.0</Version> + <DefaultItemExcludes>$(DefaultItemExcludes);Properties/AssemblyInfo.cs;FormulaParsing/LexicalAnalysis/TokenSeparatorHandlers/**;FormulaParsing/LexicalAnalysis/TokenHandler.cs;FormulaParsing/Excel/Functions/Math/Rank.cs</DefaultItemExcludes> + </PropertyGroup> + <ItemGroup Condition="'$(TargetFramework)' == 'net472'"> + <Reference Include="System.Web" /> + </ItemGroup> + <ItemGroup> + <PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> + <PackageReference Include="System.CodeDom" Version="5.0.0" /> + <PackageReference Include="System.Drawing.Common" Version="5.0.1" /> + <PackageReference Include="System.Security.Cryptography.Pkcs" Version="5.0.1" /> + <PackageReference Include="System.Security.Permissions" Version="5.0.0" /> + </ItemGroup> +</Project>
diff --git a/EPPlus/Encryption/EncryptionHandler.cs b/EPPlus/Encryption/EncryptionHandler.cs index 40bd3e7..11853da 100644 --- a/EPPlus/Encryption/EncryptionHandler.cs +++ b/EPPlus/Encryption/EncryptionHandler.cs
@@ -279,8 +279,6 @@ { switch (ei.HashAlgorithm) { - case eHashAlogorithm.RIPEMD160: - return new HMACRIPEMD160(salt); case eHashAlogorithm.MD5: return new HMACMD5(salt); case eHashAlogorithm.SHA1: @@ -629,8 +627,6 @@ { case eHashAlogorithm.MD5: return new MD5CryptoServiceProvider(); - case eHashAlogorithm.RIPEMD160: - return new RIPEMD160Managed(); case eHashAlogorithm.SHA1: return new SHA1CryptoServiceProvider(); case eHashAlogorithm.SHA256:
diff --git a/EPPlus/FormulaParsing/Excel/Functions/BuiltInFunctions.cs b/EPPlus/FormulaParsing/Excel/Functions/BuiltInFunctions.cs index c839e14..aa4bcb1 100644 --- a/EPPlus/FormulaParsing/Excel/Functions/BuiltInFunctions.cs +++ b/EPPlus/FormulaParsing/Excel/Functions/BuiltInFunctions.cs
@@ -22,10 +22,6 @@ ******************************************************************************* * Mats Alm Added 2013-12-03 *******************************************************************************/ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; using OfficeOpenXml.FormulaParsing.Excel.Functions.Database; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
diff --git a/README.md b/README.md index f79ab83..e2c1174 100644 --- a/README.md +++ b/README.md
@@ -1,2 +1,9 @@ # EPPlus AppSheet fork of EPPlus + +To compile this fork, run: +dotnet pack EPPlus/EPPlusSDK.csproj -c Release + +Then, copy the .nupkg file: +EPPlus/bin/Release/Appsheet.EPPlus.1.0.0.nupkg -> jeenee/lib/nuget +