日期:2014-05-20  浏览次数:21696 次

ClickOnce部署后无法启动应用程序
我按照《c#入门经典》里的做下来,然后在publis.htm上单机“安装”,它提示我“无法继续。此应用程序格式不正确……”,点击详细信息后是下面的东西:
错误摘要
以下是错误摘要,这些错误的详细信息列在该日志的后面。
* 激活 http://yu-pc/SimpleEditor/SimpleEditor.application 导致异常。 检测到下列失败消息:
+ 从 http://yu-pc/SimpleEditor/SimpleEditor.application 读取清单时出现异常: 清单可能无效,或者文件无法打开。
+ 缺少根元素。

组件存储事务失败摘要
未检测到任何事务错误。

警告
执行此操作的过程中未出现任何警告。

操作进度状态
* [2014/2/16 17:22:49] : 已启动 http://yu-pc/SimpleEditor/SimpleEditor.application 的激活过程。

错误详细信息
执行此操作期间检测到下列错误。
* [2014/2/16 17:22:49] System.Deployment.Application.InvalidDeploymentException (ManifestParse)
- 从 http://yu-pc/SimpleEditor/SimpleEditor.application 读取清单时出现异常: 清单可能无效,或者文件无法打开。
- 源: System.Deployment
- 堆栈跟踪:
在 System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
在 System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
在 System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
在 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
在 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
--- 内部异常 ---
System.Xml.XmlException
- 缺少根元素。
- 源: System.Xml
- 堆栈跟踪:
在 System.Xml.XmlTextReaderImpl.Throw(Exception e)
在 System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
在 System.Xml.XmlTextReaderImpl.ParseDocumentContent()
在 System.Xml.XmlTextReaderImpl.Read()
在 System.Xml.XmlTextReader.Read()
在 System.Deployment.Application.ManifestValidatingReader.XmlFilteredReader.Read()
在 System.Xml.XmlCharCheckingReader.Read()
在 System.Xml.XsdValidatingReader.Read()
在 System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)

组件存储事务详细信息
没有可用的事务信息。


------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

不会啊,我生成了一个app.manifest文件


每一次build的时候才会自动重新生成这个文件。你是如何“生成”的呢?


右击项目,属性-安全性-启用ClickOnce安全设置,然后在解决方案资源管理器里就有了个app.manifest


跟这个没有关系,这个文件你无法保证是新的。

你应该打开主程序的“属性”窗口,然后在第一个选项卡的最下方(或者是下方的倒数第二行),确保你了允许保存和刷新清单文件(而不是选择了“创建不带清单的应用程序”或者“使用内嵌的清单”)。