首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >异常“尝试使用安全透明方法'NPOI.OpenXml4Net.OPC.ZipPackage”

异常“尝试使用安全透明方法'NPOI.OpenXml4Net.OPC.ZipPackage”
EN

Stack Overflow用户
提问于 2018-08-29 15:21:43
回答 2查看 1.7K关注 0票数 3

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

代码语言:javascript
运行
复制
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框架-4.5.2

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

EN

回答 2

Stack Overflow用户

发布于 2018-09-19 10:50:01

我在使用VS2017、NPOI2.3.0和SharpZipLib 1.0.0时也遇到了这个问题。

谢谢,CrazyDev。

我没有解决在NuGet中将SharpZipLib版本改为0.86的问题。经过测试,我发现它还应该删除App.config中的以下内容:

代码语言:javascript
运行
复制
    <assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-1.0.0.999" newVersion="1.0.0.999"/>

这样,不仅可以将SharpZipLib的版本回滚到0.86,还可以修改App.config。

票数 3
EN

Stack Overflow用户

发布于 2018-09-05 08:28:48

在将SharpZipLib Nuget更新到1.0.0时,我也遇到了同样的异常。已回滚到最低版本0.86.0,如NPOI 2.3.0 Nuget dependency中所示,一切都可以正常工作。这是什么东西。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52071698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档