我对这个问题感到茫然。希望你们中的一个能够在...中找到我的信息。
我们已经将ClickOnce部署与CruiseControl.NET结合使用了很长时间,并且长时间没有任何打嗝。
昨天,我修改了项目属性的References选项卡,最后被“Unused References ...”按钮诱惑,因为我们的部署大约是13mb,并删除了未使用的引用。在检查代码并让CruiseControl.NET完成任务后,我去检查安装并收到了跟随错误......
“无法安装或运行应用程序。应用程序要求首先在全局程序集缓存(GAC)中安装程序集MyProject版本1.0.0.0。”
没问题,我想。我将回滚到最后一个版本,事情将恢复正常。当然,在现实世界中,没有什么比这更容易了。我们仍然收到错误。
我真正看到MyProject 1.0.0.0的唯一地方是应用程序的清单文件。
<entryPoint>
<assemblyIdentity name="MyProject" version="1.0.0.0" publicKeyToken="9B95B87716692F15" language="neutral" processorArchitecture="msil" />
<commandLine file="MyProject.exe" parameters="" />
</entryPoint>
关于这个的任何想法?
答案 0 :(得分:1)
您可能遇到以下问题之一。发布ClickOnce应用程序时,必须确保您的版本号从上次发布/安装的版本增加,否则ClickOnce在尝试部署任何更改时会感到困惑。但是,我不确定这是您的错误消息所指示的内容。
此外,请确保将所有已发布的文件部署到部署服务器,包括新的清单文件。 ClickOnce对文件进行哈希处理以确保它们没有被篡改。
答案 1 :(得分:1)
晚会,但是:转到您的项目属性&gt;发布&gt;应用程序文件并将未包含的所有内容设置为包含(不是“包含(自动)”)。您可能必须将引用本身设置为Copy Local = True。