首页 文章

Visual Studio 2010,Visual Studio 2008和ClickOnce的Crystal Report

提问于
浏览
5

我在这里遇到了一些麻烦 . 我大约4周前将我们的Winforms产品之一从VS2008升级到VS2010 . 转换很好,但我们使用了Crystal Reports,因此不得不为Visual Studio 2010 Beta 2安装VS2010 Crsytal报告 . 这很好,并且给了我设计师等回来的水晶 . 当解决方案打开时,我选择不转换报告,因此它们仍然设置为原始版本的水晶 .

然后我们继续进行了为期4周的开发,现在我在Vsiaul Studio 2010下进行了第一次ClickOnce部署,我遇到了严重的问题 . ClickOnce应用程序文件设置为将CrystalReports相关模块作为先决条件 . 我仍然希望最终用户使用Crystal Reports for VS2008而不是2010年的运行时,这是非常大的和beta版 .

当我发布清单时,说水晶的依赖是版本14.0.2000.0(VS2010版本的水晶报告)但项目中的所有DLL引用都设置为使用特定版本并指向10.5.3700.0(VS2008版本的水晶报告) . 这意味着当尝试从ClickOnce安装时,它失败了:

“无法安装或运行应用程序应用程序需要首先在全局程序集缓存(GAC)中安装程序集CrystalDecisions.CrystalReports.Engine版本14.0.2000.0”

我无法弄清楚为什么清单意图使用该版本号,因为所有引用都指向另一个版本 . 如果我将beta版的VS2010晶体运行时捆绑到ClickOnce部署中,则客户端会收到相反的错误消息,指出需要10.5.3700.0 . 如果我在客户端上安装10.5.3700.0,他们就会得到一个正常工作的系统,但是我必须手动安装10.5.3700.0版本,在此之前他们首先必须忍受2010年运行时(14.0.2000.0)的史诗安装 . 甚至得到使用 .

基本上我试图让清单说10.5.3700.0或弄清楚为什么VS2010打算在那里放一个更新的版本号 .

请帮忙 . 谢谢

2 回答

  • 0

    我将解决方案转换回VS2008 . 回去相对无缝 . 由于Crystal处于测试阶段,因此运行时间过于庞大,而且我在ClickOnce部署上失去了大量时间 . 回滚解决了这三个问题 .

    我不乐意回去,但在2010年使用Crystal Reports的现实非常糟糕 . 我将监控SAP的进展,因为我知道他们的目标是减少本季度的运行时间并退出测试阶段 .

  • 1

    您是否在构建应用程序的计算机上安装了新的CR内容?如果是这样,它可能引用了GAC中的程序集 .

    您可以尝试将所需的程序集复制到项目中,并将引用设置为指向本地副本,然后将引用集“copy local”设置为true . 这将确保它引用本地副本而不是GAC中的副本 .

    如果这不起作用,我会尝试将先前版本的Crystal Reports的先决条件从VS2008文件夹复制到VS2010文件夹 . 你会在这里找到包裹:

    C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages(64位机器)
    C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages

    然后关闭并重新打开Visual Studio,旧的先决条件应该显示在VS中并允许您选择它 .

相关问题