WCF 64 бит не работает - PullRequest
       30

WCF 64 бит не работает

3 голосов
/ 01 октября 2010

Я пытаюсь разработать простой сервис WCF, работающий в 64-битной среде.Я запускаю VS2010 под Windows 7

Новое решение -> Проект WCF -> Выполнить -> Он работает нормально.

Как только я изменю свойства проекта, чтобы он компилировалсяв 64-разрядном режиме при его запуске выдается следующее исключение:

Could not load file or assembly 'WcfService2' or one of its dependencies.

со следующей трассировкой загрузки сборки

=== Pre-bind state information ===
LOG: User = *****
LOG: DisplayName = WcfService2
(Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: WcfService2 | Domain ID: 4
WRN: A partial bind occurs when only part of the assembly display name is provided.
WRN: This might result in the binder loading an incorrect assembly.
WRN: It is recommended to provide a fully specified textual identity for the assembly,
WRN: that consists of the simple name, version, culture, and public key token.
WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue.
LOG: Appbase = file:///d:/temp/WcfService2/WcfService2/
LOG: Initial PrivatePath = d:\temp\WcfService2\WcfService2\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: d:\temp\WcfService2\WcfService2\web.config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL     file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/806f4cb8/df40e9e2/WcfService2.DLL.
LOG: Attempting download of new URL     file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/806f4cb8/df40e9e2/WcfService2/WcfService2.DLL.
LOG: Attempting download of new URL     file:///d:/temp/WcfService2/WcfService2/bin/WcfService2.DLL.
ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.

Как решить проблему?Любая идея?Спасибо

РЕДАКТИРОВАТЬ:

WCF делает компилируется после установки Platform Target на AnyCPU, но мне нужно специально установить 64-битную компиляцию, потому чтоЯ работаю с объектами SharePoint, и компиляция AnyCPU (или x86) приводит к той же самой проблеме и ошибке, описанной здесь (и в других местах в сети).

Так что либо яскомпилируйте AnyCPU / x86, и я получаю сообщение об ошибке интеграции с SharePoint, или я установил целевую платформу на 64-разрядную версию, и я получаю сообщение об ошибке от WCF.

Ответы [ 3 ]

2 голосов
/ 04 мая 2011

Просмотр расширенных настроек пула приложений.Установите для «Включить 32-разрядные приложения» значение true

2 голосов
/ 01 октября 2010

Помечена ли ваша сборка WcfService2 с помощью Platform Target == x86?Вы должны убедиться, что он скомпилирован с любым процессором.Этот параметр вы найдете на странице «Сборка» параметров проекта Visual Studio.

1 голос
/ 10 декабря 2018

Я нашел решение после долгих исследований.Проблема заключалась в том, что при запуске приложения с 64-разрядной версией IIS Express также необходимо выполнять как 64-разрядный процесс (по умолчанию это 32-разрядный процесс).Чтобы сделать его 64-битным, есть опция в Visual Studio.Сервис -> Параметры -> Проекты и решения -> Веб-проекты -> Используйте 64-разрядную версию IIS Express.

Вуаля, и все работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...