我们最近升级到Castle Windsor的2.5.3,以便在尝试通过UNC运行exe时利用围绕完全信任和部分信任的代码访问机制。我们收到以下错误:
System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for castle: Request failed.
(\\server\dev\oursolution.VS2010Clean\OurApp\bin\x86\Release\OurApp.exe.Config
line 10) ---> System.Security.SecurityException: Request failed.
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at
System.Configuration.TypeUtil.CreateInstanceWithReflectionPermission(Type type)
at
System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.Init(RuntimeConfigurationRecord
configRecord, FactoryRecord factoryRecord)
at
System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.InitWithRestrictedPermissions(RuntimeConfigurationRecord
configRecord, FactoryRecord factoryRecord)
at
System.Configuration.RuntimeConfigurationRecord.CreateSectionFactory(FactoryRecord
factoryRecord)
at
System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String
configKey, Boolean& isRootDeclaredHere)
--- End of inner exception stack trace ---
at
System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String
configKey, Boolean& isRootDeclaredHere)
at
System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String
configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object&
resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSection(String
configKey)
at
System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String
sectionName)
at System.Configuration.ConfigurationManager.GetSection(String
sectionName)
at Castle.Core.Resource.ConfigResource..ctor(String sectionName) in e:\OSS.Code\Castle.Core\src\Castle.Core\Core\Resource\ConfigResource.cs:line
44
at Castle.Core.Resource.ConfigResource..ctor() in e:\OSS.Code\Castle.Core\src\Castle.Core\Core\Resource\ConfigResource.cs:line
32
at
OurNamespace.DependencyInjection.ApplicationStartupTask.CreateDependencyResolver()
in
OurSolution.VS2010Clean\OurAssembly\DependencyInjection\ApplicationStartupTask.cs:line
70
at
OurAssembly.DependencyInjection.ApplicationStartupTask.Execute(IDataConfiguration
dataConfiguration) in
OurSolution.VS2010Clean\OurAssembly\DependencyInjection\ApplicationStartupTask.cs:line
46
at OurProgram.Startup() in OurSolution.VS2010Clean\OurApp\Program.cs:line 83
at OurApp.Program.Main() in OurSolution.VS2010Clean\OurApp\Program.cs:line 37
我们做了一些狩猎,但看到有人说这是一个已知的.NET 4漏洞感到很难过。
有人对此有所了解吗?
非常感谢任何意见 干杯 科林
答案 0 :(得分:0)
如果您将Windsor配置放在单独的文件中并尝试通过
获取它,该怎么办?container.Install(Configuration.FromXml(new UncResource("your UNC path"))):