2012-01-09 2 views
0

Чтобы создать мое приложение Silverlight 4.0, я начал с шаблона «Бизнес-приложение» в Visual Studio 2010. Затем я добавили проектную библиотеку классов WCF-RIA, и я ссылался на нее в основном проекте ASP.Net. Затем в проекте WCF-RIA я добавил ссылку на внешний .DLL, созданный моим соавтором, из которого я получаю данные.Ошибка со ссылкой на внешнюю библиотеку в библиотеке классов службы wcf-ria с IIS 7.5 на Windows-7 64 бит

Проблема в том, что, хотя я выполняю свое приложение с Visual Studio Development Server (Cassini), все в порядке. Когда я пытаюсь выполнить приложение в IIS (версия 7.5 на моем 64-битном Windows-7), я получаю сообщение об ошибке, вызванное ссылкой на внешний .DLL (infact, если я удаляю .DLL, все работает снова).

Мое приложение должно быть настроено как есть, то я спрашиваю: в чем проблема, и (особенно), как я могу работать с ним?

спасибо, что заблаговременно!

Pileggi

Это ошибка:

Ошибка сервера в приложении '/' MYAPP.

Не удалось загрузить файл или сборку «MyLibrary» или одну из его зависимостей. Tentativo di caricare un programma con un форматo non corretto. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.BadImageFormatException: Не удалось загрузить файл или сборку 'MyLibrary' или одну из его зависимостей. Tentativo di caricare un programma con un форматo non corretto.

Источник ошибки:

Необработанное исключение при выполнении текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием следа стека исключений ниже.

Сброс нагрузки на сборку. Следующая информация может быть полезна для определения того, почему сборка «MyLibrary» не может быть загружена.

WRN: Регистрация привязки монтажа отключена. Чтобы включить ведение журнала сбоев сборки, установите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) на 1. Примечание. Существует некоторая оценка производительности, связанная с протоколированием сбоев привязки сборки. Чтобы отключить эту функцию, удалите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Трассировка стека:

[BadImageFormatException: Не удалось загрузить файл или сборку 'MyLibrary' или один из его зависимостей. Tentativo ди caricare ип Programma кон ип Formato не Corretto.] System.Reflection.RuntimeAssembly._nLoad (AssemblyName имя_файла, строка CodeBase, фактические данные assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark & stackMark, булева throwOnFileNotFound, булева forIntrospection, булевы suppressSecurityChecks) +0 система .Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName assemblyRef, Доказательства assemblySecurity, StackCrawlMark & stackMark, булева forIntrospection, булевы suppressSecurityChecks) +567 System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, фактические данные assemblySecurity, StackCrawlMark & stackMark, булева forIntrospection) +192 System.Reflection.Assembly .load (String assemblyString) +35 System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String AssemblyName, Boolean starDirective) +147

[ConfigurationErrorsException: не удалось загрузить файл или сборку 'MyLibrary' или один из его зависимостей. Tentativo ди caricare ип Programma кон ип Formato не Corretto.] System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String AssemblyName, булева starDirective) +1298 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +430 System.Web. Configuration.AssemblyInfo.get_AssemblyInternal() +104 System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) +334 System.Web.Compilation.BuildManager.CallPreStartInitMethods() +264 ( System.Web.Hosting.HostingEnvironment.Initialize ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1021

[HttpException (0x80004005): Не удалось загрузить файл или сборку «MyLibrary» или одну из его зависимостей. Tentativo ди caricare ип Programma кон ип Formato не Corretto.] System.Web.HttpRuntime.FirstRequestInit (HttpContext контекст) +646 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext контекст) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext) +771


Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; ASP.NET Версия: 4.0.30319.1

ответ

0

Хорошо, я обнаружил, проблема в том, что DLL построена для 32-битных систем, а IIS по умолчанию позволяет создавать только файлы, созданные для одного и того же процессора операционной системы (и у меня 64 бит). Чтобы решить, 2 варианта: перестроить DLL для 64-битного процессора или изменить свойство «Разрешить 32-разрядные приложения» пула приложений.

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