Castle 2.5.3 .NET 4 не удается прочитать файл конфигурации через UNC - PullRequest
0 голосов
/ 06 апреля 2011

Мы недавно обновили до 2.5.3 Castle Windsor, чтобы использовать механизм доступа к коду для полного и частичного доверия при попытке запустить exe-файл через UNC. Мы получаем следующую ошибку:

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.

Кто-нибудь знает что-нибудь об этом?

Большое спасибо за любой вклад ура Colin

1 Ответ

0 голосов
/ 07 апреля 2011

что если вы поместите конфигурацию Windsor в отдельный файл и попытаетесь получить ее через

container.Install(Configuration.FromXml(new UncResource("your UNC path"))):
...