【问题标题】:ClickOnce deployment error on upgraded .NET application升级的 .NET 应用程序上的 ClickOnce 部署错误
【发布时间】:2010-10-20 03:25:00
【问题描述】:

我有一个在 Visual Studio 2005 中开发并通过 ClickOnce 部署到 IIS 服务器的 Windows 窗体应用程序。我已经升级到 VS2008,所以我决定升级并重新部署应用程序(在测试中)。我运行了升级向导,手动将项目的目标运行时更改为 3.5,从部署服务器中删除了所有旧的发布文件,并发布了应用程序。

我可以毫无问题地启动它(即“在我的机器上工作”),但是当其他人启动它时,他们会收到错误。

无法继续。应用程序格式不正确。请联系应用程序供应商寻求帮助。

错误对话框上有一个详细信息...按钮。以下是部分内容。

PLATFORM VERSION INFO
Windows             : 5.1.2600.131072 (Win32NT)
Common Language Runtime     : 2.0.50727.1433
System.Deployment.dll       : 2.0.50727.1433 (REDBITS.050727-1400)
mscorwks.dll            : 2.0.50727.1433 (REDBITS.050727-1400)
dfdll.dll           : 2.0.50727.1433 (REDBITS.050727-1400)
dfshim.dll          : 2.0.50727.1433 (REDBITS.050727-1400)

请注意,CLR 是 2.0。

ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://{deployment host name}/ resulted in exception. Following failure messages were detected:
    + Exception reading manifest from http://{deployment host name}/{application name}.application: the manifest may not be valid or the file could not be opened.
    + Manifest XML signature is not valid.
    + No signature was present in the subject.

我没有签署申请。这是一个完全内部的部门应用程序。我怀疑问题不在于缺少签名,而是.NET 使用了错误的运行时,并且 2.0 运行时无法处理 3.5 清单。但如果是这样的话,我不知道如何让它使用 3.5 运行时。

我想可能是旧版本被缓存了,所以我让用户运行rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache。这清除了缓存(应用程序在下一次完全重新加载),但它并没有解决问题。

有没有人在将 ClickOnce 应用程序从 2.0 升级到 3.5 时遇到过这样的问题?知道我的问题可能是什么吗?

【问题讨论】:

    标签: .net .net-3.5 deployment clickonce


    【解决方案1】:

    请确认您已将 .NET Framework 3.5 设置为先决条件。

    项目设置 -> 发布 -> 先决条件

    【讨论】:

    • 好建议。我将先决条件更新为 3.5。不幸的是,我们得到了相同的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    相关资源
    最近更新 更多