部署提供商处的部署标识与原始部署标识不同

Mar*_*sen 7 visual-studio-2010

我有一个给我带来很多麻烦的应用程序。创建它的人不再在我们公司工作,由我来修复和发布适用于我们 Windows 7 机器的程序

但是我得到以下堆栈跟踪:

    PLATFORM VERSION INFO
    Windows             : 6.1.7601.65536 (Win32NT)
    Common Language Runtime     : 4.0.30319.18063
    System.Deployment.dll       : 4.0.30319.17929 built by: FX45RTMREL
    clr.dll             : 4.0.30319.18063 built by: FX45RTMGDR
    dfdll.dll           : 4.0.30319.17929 built by: FX45RTMREL
    dfshim.dll          : 4.0.41209.0 (Main.041209-0000)

SOURCES
    Deployment url          : file://nkm18427/PRV-JSKR/Backup/DOPeSolutions.application
    Deployment Provider url     : http://nkm18f53:8181/DRIFT/DOPe%20Data%20Management/DOPeSolutions.application
                        Server      : Apache-Coyote/1.1

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of \\nkm18427\PRV-JSKR\Backup\DOPeSolutions.application resulted in exception. Following failure messages were detected:
        + The deployment identity at the deployment provider is not the same as the original deployment identity.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [05-03-2014 13:45:05] : Activation of \\nkm18427\PRV-JSKR\Backup\DOPeSolutions.application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [05-03-2014 13:45:05] System.Deployment.Application.InvalidDeploymentException (SubscriptionSemanticValidation)
        - The deployment identity at the deployment provider is not the same as the original deployment identity.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.DownloadManager.FollowDeploymentProviderUri(SubscriptionStore subStore, AssemblyManifest& deployment, Uri& sourceUri, TempFile& tempFile, IDownloadNotification notification, DownloadOptions options)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
            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)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么会发生这种情况以及我该如何解决?

小智 4

问题

每当我尝试发布具有与计算机上当前安装的架构不同的目标架构(x86 与 x64)的单击一次应用程序时,我通常会收到此错误

或者

当应用程序的签名/证书与原始发布的不同时

解决方案

我会尝试确保您的目标架构没有更改(如果您最初将其发布为 x32,请确保您尝试安装的版本仍然是 x32)

或者

确保签名设置没有任何更改(如果您最初使用证书发布,请确保它仍然是相同的证书)

但是,如果您有意进行这些更改,则您需要在主机上执行的操作就是卸载计算机上的现有应用程序,然后使用您尝试安装的版本重新安装,这应该可以解决错误并允许您安装新版本。