Установка Clickonce завершается неудачно после добавления сервисного проекта WCF - PullRequest
1 голос
/ 12 марта 2010

Итак, у меня есть решение winform, развернутое с помощью clickonce. Eveything работал хорошо, пока я не добавил проект WCF. (см. ошибку при разборе файла манифеста в конце сообщения) Теперь я заметил, что MSBuild компилирует сервис в директорию _PublishedWebsites. Я не знаю, зачем это нужно, но подозреваю, что это является причиной проблемы. Этот проект wcf ссылается на некоторые другие проекты в рамках решения. Я на самом деле размещаю службу wcf в приложении, поэтому мне не нужен MSBuild, чтобы сделать все это для меня. Есть идеи?

=============================================== ====================================== ПЛАТФОРМА ВЕРСИЯ ИНФОРМАЦИЯ Windows: 5.1.2600.131072 (Win32NT) Общее время выполнения: 2.0.50727.3603 System.Deployment.dll: 2.0.50727.3053 (netfxsp.050727-3000) mscorwks.dll: 2.0.50727.3603 (GDR.050727-3600) dfdll.dll: 2.0.50727.3053 (netfxsp.050727-3000) dfshim.dll: 2.0.50727.3053 (netfxsp.050727-3000)

ИСТОЧНИКИ URL-адрес развертывания: файл: /// C: /applications/abc/dev/abc.Application.application

ТОЖДЕСТВО Идентификация развертывания: Flow Management System.app, версия = 1.4.0.0, культура = нейтральная, PublicKeyToken = 8453086392175e0f, процессор_архитектуры = msil

РЕЗЮМЕ ЗАЯВКИ * Устанавливаемое приложение. * Доверительный параметр URL установлен. РЕЗЮМЕ ОШИБОК Ниже приведена сводная информация об ошибках, подробности об этих ошибках приведены ниже в журнале. * Активация C: \ Applications \ abc \ dev \ abc.Application.application привела к исключению. Следующие сообщения об ошибках были обнаружены: + Исключение при чтении манифеста из файла: /// C: /applications/abc/dev/1.4.0.0/abc.Application.exe.manifest: манифест может быть недействительным или файл не может быть открыт. + Парсинг и создание DOM манифеста привели к ошибке. Были замечены следующие ошибки синтаксического анализа: -HRESULT: 0x80070c81 Стартовая строка: 0 Начальный столбец: 0 Хост-файл:
+ Исключение из HRESULT: 0x80070C81

РЕЗЮМЕ СБОРА СБОРА КОМПОНЕНТНОГО МАГАЗИНА Ошибка транзакции не обнаружена.

ПРЕДОСТОРОЖНОСТИ Во время этой операции предупреждений не было.

СТАТУС ПРОГРЕССА РАБОТЫ * [03.12.2010 18:33:53]: Активация C: \ apps \ abc \ dev \ abc.Application.application началась. * [03.12.2010 18:33:53]: Обработка манифеста развертывания успешно завершена. * [03.12.2010 18:33:53]: Установка приложения началась.

ДЕТАЛИ ОШИБОК Следующие ошибки были обнаружены во время этой операции. * [03.12.2010 18:33:53] System.Deployment.Application.InvalidDeploymentException (ManifestParse) - Исключение при чтении манифеста из файла: /// C: /applications/abc/dev/1.4.0.0/abc.Application.exe.manifest: манифест может быть недействительным или файл не может быть открыт. - Источник: System.Deployment - Трассировки стека: в System.Deployment.Application.ManifestReader.FromDocument (строка localPath, ManifestType manifestType, Uri sourceUri) в System.Deployment.Application.DownloadManager.DownloadManifest (Uri & sourceUri, String targetPath, уведомление IDownloadNotification, параметры DownloadOptions, ManifestType manifestType, информация о сервере и информация о сервере) в System.Deployment.Application.DownloadManager.DownloadApplicationManifest (AssemblyManifest deployManifest, String targetDir, Uri deployUri, уведомление IDownloadNotification, параметры DownloadOptions, Uri и appSourceUri, String & appManifestPath) в System.Deployment.Application.ApplicationActivator.DownloadApplication (SubScriptionState subState, ActivationDescription actDesc, Int64 TransactionsId, TempDirectory & downloadTemp) в System.Deployment.Application.ApplicationActivator.InstallApplication (SubscriptionState & subState, ActivationDescription actDesc)в System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation (Uri активацииUri, логический isShortcut, String textualSubId, String deployProviderUrlFromExtension, BrowserSettings browserSettings, String & errorPageUrl) в System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker (состояние объекта) --- Внутреннее исключение --- System.Deployment.Application.InvalidDeploymentException (ManifestParse) - Анализ и создание DOM манифеста привели к ошибке. Были замечены следующие ошибки синтаксического анализа: -HRESULT: 0x80070c81 Стартовая строка: 0 Начальный столбец: 0 Хост-файл:
- Источник: System.Deployment - Трассировки стека: в System.Deployment.Application.Manifest.AssemblyManifest.LoadCMSFromStream (Поток потока) в System.Deployment.Application.Manifest.AssemblyManifest..ctor (FileStream fileStream) в System.Deployment.Application.ManifestReader.FromDocument (строка localPath, ManifestType manifestType, Uri sourceUri) --- Внутреннее исключение --- System.Runtime.InteropServices.COMException - Исключение из HRESULT: 0x80070C81 - Источник: System.Deployment - Трассировки стека: в System.Deployment.Internal.Isolation.IsolationInterop.CreateCMSFromXml (буфер Byte [], UInt32 bufferSize, IManifestParseErrorCallback Callback, Guid & riid) в System.Deployment.Application.Manifest.AssemblyManifest.LoadCMSFromStream (потоковый поток)

ПОДРОБНАЯ ИНФОРМАЦИЯ О СДЕЛКЕ МАГАЗИНА Информация о транзакции недоступна.

1 Ответ

1 голос
/ 16 марта 2010

Я немного запутался, что вы подразумеваете под: " Я на самом деле размещаю службу wcf в приложении, поэтому мне не нужен MSBuild, чтобы сделать все это для меня "

Служба WCF должна представлять собой отдельное (только на стороне сервера) решение со всеми битами, которые принадлежат только на стороне сервера. Приложение clickonce должно быть решением только на стороне клиента, вы ссылаетесь на службу WCF, создавая веб-ссылки, предоставляя URL-адрес и т. Д. Для службы.

Возможно, чтобы служба WCF (на стороне сервера) находилась в том же .sln, что и приложение winforms, просто убедитесь, что вы не добавляете ссылку на проект в службу WCF, общение осуществляется только с помощью веб-ссылок. Лично я думаю, что гораздо чище полностью разделить проекты на стороне клиента и сервера (сказав, что в некоторых случаях имеет смысл разделять некоторые проекты в обоих решениях, например, если у вас есть уровень biz, который неосведомлен на уровне персистентности, он может использоваться совместно ).

...