C# 启用NetFx40_LegacySecurityPolicy的System.Security.SecurityException
尝试创建一个简单的C#控制台应用程序,该应用程序与我公司使用的另一个第三方供应商应用程序EPPlus excel读/写库交互 我面临的挑战是,另一个第三方应用程序需要我的App.config文件来支持旧版CAS策略模型,这是访问其关键程序集之一的先决条件。因此,我的设置如下所示:C# 启用NetFx40_LegacySecurityPolicy的System.Security.SecurityException,c#,.net,epplus,legacy,securityexception,C#,.net,Epplus,Legacy,Securityexception,尝试创建一个简单的C#控制台应用程序,该应用程序与我公司使用的另一个第三方供应商应用程序EPPlus excel读/写库交互 我面临的挑战是,另一个第三方应用程序需要我的App.config文件来支持旧版CAS策略模型,这是访问其关键程序集之一的先决条件。因此,我的设置如下所示: <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supporte
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>
尝试手动设置我计划读/写的目录和excel文件的FileIOPermission,并花了半天时间在论坛中搜索以确定解决方案,但没有成功
是否有人知道在保持旧版安全策略启用的同时,可能会采取一些变通办法来实现EPPlus程序集的功能
Unhandled Exception: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
at System.IO.FileSystemInfo.get_FullName()
at OfficeOpenXml.ExcelPackage.ConstructNewFile(String password)
at OfficeOpenXml.ExcelPackage..ctor(FileInfo newFile)
at EPPlusApp.Program.Main(String[] args)