【问题标题】:ClickOnce error: Manifest identity has one or more invalid charactersClickOnce 错误:清单标识包含一个或多个无效字符
【发布时间】:2011-07-27 13:55:56
【问题描述】:

我正在尝试使用第三方程序集部署 .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 程序集的标识以删除井号?第三方提供商不太可能对程序集进行此更改。

【问题讨论】:

    标签: .net clickonce manifest


    【解决方案1】:

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

    在您的部署中包含第 3 方程序集的最佳方式是:

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

    如果您的项目中没有对程序集的直接引用,请将其添加到您的项目中并将构建操作设置为“内容”并将“复制到输出目录”设置为“始终复制”。

    如果真的是 octothorpe 引起了您的问题,您可以重命名它吗?它实际上在程序集的名称中有 # 吗?

    【讨论】:

    • 我尝试了您的建议,但我仍然在清单中收到有关 octothorpe 的错误。即使我重命名 dll,octothorpe 也在文件内部的某个位置(在身份字段中?)导致问题。不过,感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多