0

Я работаю над WCF с инъекцией зависимостей Unity. Все работало нормально в VS2012. Сервис находится в 32-разрядной версии. Теперь мы обновляем сервис до 64-разрядной версии, Service получает обновление. Но во время запуска приложения я получаю Unity Exception, файл web.config также в порядке.WCF, Контейнер Unity Microsoft.Practices.Unity.Configuration.dll, но не обрабатывался в коде пользователя

Исключение:

Исключение типа «System.InvalidOperationException» произошло в Microsoft.Practices.Unity.Configuration.dll, но не был обработан в пользовательском коде

Дополнительная информация: Имя типа или псевдоним ReportDecodingDefault не может быть разрешен. Проверьте конфигурационный файл и проверьте его имя.

Web.Config:

<typeAlias alias="ISignatureCalculation" type="Diagnostics.Report.Repository.Contract.ISignatureCalculation, Diagnostics.Report.Repository.Contract" /> 
    <typeAlias alias="SignatureCalculationDefault" type="Diagnostics.Report.Signature.SignatureCalculation, Diagnostics.Report.Signature" /> 
    <typeAlias alias="SignatureCalculationBGL" type="Diagnostics.Report.Signature.BGL.SignatureCalculation, Diagnostics.Report.Signature.BGL" /> 
    <typeAlias alias="SignatureCalculationPrototyp" type="ErrorReportAnalyzer.SignatureCalculator, ErrorReportAnalyzer" /> 
    <typeAlias alias="SignatureCalculationRefactored" type="ExceptionBasedAndReferencesMappingAlgorithm.SignatureCalculator, ExceptionBasedAndReferencesMappingAlgorithm" /> 

    <typeAlias alias="IDataStore" type="Diagnostics.Report.Repository.Contract.IDataStore, Diagnostics.Report.Repository.Contract" /> 
    <typeAlias alias="DataStoreDefault" type="Diagnostics.Report.Repository.SqlDb.SqlDataManager, Diagnostics.Report.Repository.SqlDb" /> 
</typeAliases> 
    <container> 
    <types> 
    <type type="IReportDecoding" mapTo="ReportDecodingDefault"></type> 
    <type type="ISignatureCalculation" mapTo="SignatureCalculationRefactored"></type> 
    <type type="IDataStore" mapTo="DataStoreDefault"></type> 
    </types> 
    </container> 
</unity> 

Получение исключение при загрузке конфигурации

Контейнер = newUnityContainer();

Container.LoadConfiguration(); (Здесь исключение)

Пожалуйста, помогите.

ответ

0

LoadConfiguration будет использовать конфигурационный файл, в котором определяется ReportDecodingDefault. Может быть, этот класс реализован в библиотеке, которая все еще скомпилирована как 32 бит?

+0

HI Jeroen, Спасибо за ответ. Библиотека классов ReportDecodingDefault была скомпилирована в x64 только не в 32 бит. любые другие подсказки, пожалуйста, – user1255105

+0

Я нашел это [ссылка] (http://stackoverflow.com/questions/8051347/xml-config-changes-in-unity-2-0). Вы уверены, что обновление Unity не выполнено? Я также заметил, что в начальном вопросе не существует типов для ReportDecodingDefault. –

Смежные вопросы