ClickOnce错误:清单标识包含一个或多个无效字符

时间:2011-07-27 13:55:57

标签: .net clickonce manifest

我正在尝试使用第三方程序集部署.NET 3.5应用程序。我可以毫无问题地创建ClickOnce安装程序。但是,当我尝试运行安装程序时,我收到此消息:

  

无法启动应用程序:无法继续。应用程序格式不正确。请联系应用程序供应商以获取帮助。

以下是错误日志的重要部分:

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of <my application path>.application resulted in exception. Following failure messages were detected:
        + Exception reading manifest from file <my application path>.exe.manifest: the manifest may not be valid or the file could not be opened.
        + Application manifest is not semantically valid.
        + Manifest identity has one or more invalid characters: ABISFoundationSDK_C#.

如您所见,SDK标识名称中有一个(#)符号。有没有办法可以更改SDK程序集的标识以删除井号?第三方提供商不太可能对程序集进行此更改。

1 个答案:

答案 0 :(得分:1)

您是如何将dll添加到部署中的?你刚刚添加它并编辑清单吗?

在部署中包含第三方程序集的最佳方法是:

将程序集添加到项目中。将构建操作设置为“无”,并将“复制到输出目录”设置为“不复制”。然后删除您对该程序集的引用。重新添加引用并指向项目中的本地副本;在引用属性上将“copy local”设置为“true”。

如果项目中没有对程序集的直接引用,请将其添加到项目中,并将构建操作设置为“content”,将“copy to output directory”设置为“始终复制”。

如果是octothorpe确实导致了您的问题,可以重命名吗?它是否在程序集的名称中实际具有#?