Я следовал примеру здесь http://docs.autofac.org/en/latest/configuration/xml.html, заменяя XML для json, но не могу ничего компилировать. Я ссылаюсь пакет Microsoft.Framework.ConfigurationModel.Xml (версия 1.0.0-beta4), и добавил код:Почему я не могу получить конфигурацию autofac XML для работы
// Add the configuration to the ConfigurationBuilder.
var config = new ConfigurationBuilder();
config.AddXmlFile("something.xml");
// Register the ConfigurationModule with Autofac.
var module = new ConfigurationModule(config.Build());
var builder = new ContainerBuilder();
builder.RegisterModule(module);
Проблема, метод расширения AddXmlFile() принимает параметр IConfigurationSourceRoot, которую ConfigurationBuilder не является типом. Лужение вокруг, я обнаружил, что метод AddXmlFile() только кажется, нравится объект конфигурации:
var config = new Microsoft.Framework.ConfigurationModel.Configuration();
config.AddXmlFile(filename);
Но нет никакого способа сборки() по классу конфигурации, члена или расширения. Что я не вижу?
Хороший улов. Не так давно все, что вам нужно, это Autofac.Configuration. Теперь вам понадобится еще 8 других пакетов. Кроме того, json configs работают, но не xml. Это создает дубликат ключа ошибки: <тип модуля = "AnotherModule" /> модуль типа = "SomeModule"> –
Dan
Прочитайте документацию. Вам не хватает порядкового наименования элементов XML. http://autofac.readthedocs.io/en/latest/configuration/xml.html –
На самом деле в документах говорится об использовании ординалов для, а не . Из их документа: В любом случае, я попытался добавить атрибут «name» ранее, и он все еще не работает. Это заставляет меня пройти двойную ключевую ошибку прямо в ArgumentNullException. Точная конфигурация работает в json. То, что вы видите, буквально все, что я делаю, включая два модуля. Джонсон. Спасибо за вашу помощь. –
Dan