我可以使用ClickOnce安装程序

时间:2018-03-29 10:15:50

标签: c# clickonce reportviewer

我有一个通过ClickOnce部署的.Net 4 WPF应用程序 应用程序在本地生成一些报告并将其显示给用户,因此它引用了Microsoft.ReportViewer.WinForms。这些报告是.rdlc,并作为资源嵌入到应用程序中。

最近,我们将.dll从版本10升级到最新版本14,以便查看较新的架构定义。问题是旧版本没有选择以其他语言显示报告,但现在,由于它,它在部署中包含了每种语言的其他文件夹(de,es,fr等)。
这些文件夹为ClickOnce安装添加了另外28.6 MB(这有效地使我们的应用程序安装程序大小加倍)。

由于我们不需要任何这些语言包,在发布ClickOnce安装程序时是否有办法包含它们?

如果不包含这些语言版本.dll,是否有任何已知的副作用?

更新:我正在使用帖子构建事件来删除文件夹,这些文件夹会在点击一次之前删除文件夹,但我认为仍然有一些配置,因此不包括它们。< / p>

1 个答案:

答案 0 :(得分:0)

您可以在ClickOnce发布期间删除其他语言包。

  1. 打开您从
  2. 发布的项目的项目属性
  3. 导航到“发布”标签
  4. 单击“应用程序文件...”按钮
  5. 在“应用程序文件”弹出窗口中,选中底部的“显示所有文件”复选框
  6. 每种语言都有3个dll,如果您将“发布状态”设置为“排除”,则不会使用ClickOnce应用程序发布它们
  7. 我遇到的问题不是单击“显示所有文件”复选框,看起来语言dll都包含在基本dll中。如果您这样做,那么ReportViewer将只显示您包含dll的语言。

    如果未包含语言dll,则ReportViewer将使用基本英语版本。这与系统语言没有特定的dll集合时的行为相同。