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
+