ClickOnce и NServiceBus?«Ссылка в манифесте не совпадает с удостоверением загруженной сборки NServiceBus.Host.exe.» - PullRequest
2 голосов
/ 17 августа 2011

Как мне исправить это?Нужно ли собирать NSB из источника с настройками Manifest, описанными здесь: http://geekswithblogs.net/rakker/archive/2007/12/06/117449.aspx?

ERROR DETAILS
    Following errors were detected during this operation.
    * [8/16/2011 2:26:17 PM] System.Deployment.Application.InvalidDeploymentException (RefDefValidation)
        - Reference in the manifest does not match the identity of the downloaded assembly NServiceBus.Host.exe.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e)
            at System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e)
            at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
            at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
            at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
            at System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
            at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
            at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

1 Ответ

2 голосов
/ 19 августа 2011

NServiceBus.Host.exe предназначен для самостоятельного запуска конечной точки и предоставляет средства для простой установки конечной точки в качестве службы Windows.

Если вы пытаетесь встроить NServiceBus в приложение Windows Forms, то WinForms exe должен быть «хостом». Не ссылаться на NServiceBus.Host.exe. Только ссылки NServiceBus.dll и NServiceBus.Core.dll. (И log4net.dll, вероятно, также.)

При запуске приложения WinForms вам необходимо вручную инициализировать шину, как описано здесь .

Это, по крайней мере, общая схема использования NServiceBus в приложении Windows Forms. Я специально не пытался выпустить подобное приложение с ClickOnce. Я не уверен, может ли ClickOnce позаботиться о зависимости MSMQ или нет.

...