Castle 2.5.3 .NET 4无法通过UNC读取配置文件

时间:2011-04-06 05:59:26

标签: castle-windsor

我们最近升级到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漏洞感到很难过。

有人对此有所了解吗?

非常感谢任何意见 干杯 科林

1 个答案:

答案 0 :(得分:0)

如果您将Windsor配置放在单独的文件中并尝试通过

获取它,该怎么办?
container.Install(Configuration.FromXml(new UncResource("your UNC path"))):