C# 例外情况;尝试使用安全透明方法';NPOI.OpenXml4Net.OPC.ZipPackage“;

C# 例外情况;尝试使用安全透明方法';NPOI.OpenXml4Net.OPC.ZipPackage“;,c#,npoi,C#,Npoi,我正在尝试使用NPOI从C#中的excel文件中读取数据。下面是我用来初始化变量的代码片段。但是在初始化工作簿时,下面是我得到的一个例外 public class Excelhandler { public static XSSFWorkbook workbook; public static FileStream fileStream; static Excelhandler() { try { strin

我正在尝试使用NPOI从C#中的excel文件中读取数据。下面是我用来初始化变量的代码片段。但是在初始化工作簿时,下面是我得到的一个例外

public class Excelhandler
{
    public static XSSFWorkbook workbook;
    public static FileStream fileStream;
    static Excelhandler()
    {
        try
        {
            string pth = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            string actualPath = pth.Substring(0, pth.LastIndexOf("bin"));
            string projectPath = new Uri(actualPath).LocalPath;
            string path = projectPath + @"TestData\Data.xlsx";
            //string path = ConfigurationManager.AppSettings["TestDataPath"];
            fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
            workbook = new XSSFWorkbook(fileStream);

        }
同一段代码在另一个C#项目中工作,但突然不起作用。以下是我正在使用的版本:-

NPOI-2.3.0

SharpZipLib(NPOI依赖项)-1.0.0

.Net Framework-4.5.2


异常-安全透明方法“NPOI.OpenXml4Net.OPC.ZipPackage..ctor(System.IO.Stream,NPOI.OpenXml4Net.OPC.PackageAccess)”尝试访问安全关键方法“ICSharpCode.SharpZipLib.Zip.ZipInputStream..ctor(System.IO.Stream)”失败。

将SharpZipLib Nuget更新到1.0.0时,我面临同样的异常。回滚到minimun版本0.86.0,如NPOI 2.3.0 Nuget dependency中所示,所有内容都重新运行。这很重要。

我在VS2017、NPOI 2.3.0和SharpZipLib 1.0.0中也遇到了这个问题

谢谢你

我没有解决在NuGet中将SharpZipLib的verison更改为0.86的问题。 测试后,我发现如果App.config中有以下内容,它也应该删除这些内容:

    <assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-1.0.0.999" newVersion="1.0.0.999"/>


因此,不仅要将SharpZipLib的verison回滚到0.86,还要修改App.config.

以安装0.86:
安装软件包SharpZipLib-版本0.86.0