我正在尝试使用第三方程序集部署.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程序集的标识以删除井号?第三方提供商不太可能对程序集进行此更改。
答案 0 :(得分:1)
您是如何将dll添加到部署中的?你刚刚添加它并编辑清单吗?
在部署中包含第三方程序集的最佳方法是:
将程序集添加到项目中。将构建操作设置为“无”,并将“复制到输出目录”设置为“不复制”。然后删除您对该程序集的引用。重新添加引用并指向项目中的本地副本;在引用属性上将“copy local”设置为“true”。
如果项目中没有对程序集的直接引用,请将其添加到项目中,并将构建操作设置为“content”,将“copy to output directory”设置为“始终复制”。
如果是octothorpe确实导致了您的问题,可以重命名吗?它是否在程序集的名称中实际具有#?