升级的.NET应用程序上的ClickOnce部署错误

时间:2009-04-17 15:35:34

标签: .net .net-3.5 deployment clickonce

我有一个Windows窗体应用程序,它是在Visual Studio 2005中开发的,并通过ClickOnce部署到IIS服务器。我已升级到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?知道我的问题是什么吗?

1 个答案:

答案 0 :(得分:1)

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

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