ClickOnce要求程序集MyProject在GAC中吗?

时间:2009-07-16 18:34:44

标签: .net clickonce cruisecontrol.net gac

我对这个问题感到茫然。希望你们中的一个能够在...中找到我的信息。

我们已经将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>

关于这个的任何想法?

2 个答案:

答案 0 :(得分:1)

您可能遇到以下问题之一。发布ClickOnce应用程序时,必须确保您的版本号从上次发布/安装的版本增加,否则ClickOnce在尝试部署任何更改时会感到困惑。但是,我不确定这是您的错误消息所指示的内容。

此外,请确保将所有已发布的文件部署到部署服务器,包括新的清单文件。 ClickOnce对文件进行哈希处理以确保它们没有被篡改。

答案 1 :(得分:1)

晚会,但是:转到您的项目属性&gt;发布&gt;应用程序文件并将未包含的所有内容设置为包含(不是“包含(自动)”)。您可能必须将引用本身设置为Copy Local = True。