Формат Ninject Given Path не поддерживается - PullRequest
0 голосов
/ 29 декабря 2010

Инициализация Ninject работает нормально, когда я запускаю свое приложение непосредственно из VS2010, но если я развертываю приложение в нашей пользовательской среде "плагинов", я получаю эту ошибку при запуске приложения, и оно пытается инициализировать Ninject.

Ошибка при инициализации

Формат данного пути не поддерживается.

ОШИБКА: формат указанного пути не поддерживается. Тип: NotSupportedException Расположение: System.String CanonicalizePath (System.String, Boolean) Трассировки стека: в System.Security.Util.StringExpressionSet.CanonicalizePath (путь строки, логическое значение needFullPath) at System.Security.Util.StringExpressionSet.CreateListFromExpressions (String [] str, Boolean needFullPath) в System.Security.Permissions.FileIOPermission.AddPathList (доступ FileIOPermissionAccess, элемент управления AccessControlActions, String [] pathListOrig, логический checkForDuplicates, логический needFullPath, логический copyPathList) в System.Security.Permissions.FileIOPermission..ctor (FileIOPermissionAccess access, String [] pathList, логическое checkForDuplicates, логическое needFullPath) at System.IO.Path.GetFullPath (String path) в Ninject.Modules.ModuleLoader.NormalizePath (String path) в Ninject.Modules.ModuleLoader.GetFilesMatchingPattern (образец строки) в Ninject.Modules.ModuleLoader.b_ 0 (образец строки) at System.Linq.Enumerable.d _14 2.MoveNext() at System.Linq.Lookup 2.Создать [TSource] (IEnumerable 1 source, Func 2 keySelector, Func 2 elementSelector, IEqualityComparer 1 компаратор) в шаблонах System.Linq.GroupedEnumerable 3.GetEnumerator() at Ninject.Modules.ModuleLoader.LoadModules(IEnumerable 1) в Ninject.KernelBase.Load (IEnumerable`1 filePatterns) в Ninject.KernelBase..ctor (компоненты IComponentContainer, настройки INinjectSettings, модули INinjectModule []) в Ninject.KernelBase..ctor (модули INinjectModule []) в MyApp.Ioc.ResolveType.Initialize () на MyApp.Program.Run ()

1 Ответ

2 голосов
/ 14 февраля 2011

Трассировка стека выглядит немного по-другому, однако это похоже на проблему, с которой я столкнулся, когда NInject попытался загрузить любые расширения NInject, которые могли бы существовать, но потерпели неудачу, поскольку каталог расширений не существовал.каталог существует, тогда я предполагаю, что код будет работать нормально, даже если каталог пуст.

Я предлагаю изменить ваш объект настроек NInject, чтобы он не загружал расширения по умолчанию (у вас будетпередать его в свой конструктор StandardKernel вместо использования настроек NInject по умолчанию, которые создаются неявно).

Пример:

var settings = new NinjectSettings();
settings.LoadExtensions = false;
var kernel = new StandardKernel(settings);
kernel.load<YourCustomBindingModuleIfAny>();
...