【问题标题】:Can I remove the ReportViewer language packs with ClickOnce installer我可以使用 ClickOnce 安装程序删除 ReportViewer 语言包吗
【发布时间】:2018-03-29 10:15:49
【问题描述】:

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

最近,我们将 .dll 从版本 10 升级到最新版本 14,以便查看更新的架构定义。问题是旧版本没有以其他语言显示报告的选项,但现在,因为它有,它在部署中为每种语言(de、es、fr 等)包含了额外的文件夹。
这些文件夹为 ClickOnce 安装增加了 28.6 MB(这实际上使我们的应用程序安装程序大小翻了一番)。

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

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

更新:我正在使用构建后事件来删除文件夹,这些会在单击发布之前删除文件夹,但我认为仍然有一些配置,因此不包括在内。

【问题讨论】:

    标签: c# clickonce reportviewer


    【解决方案1】:

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

    1. 打开您发布的项目的项目属性
    2. 导航到“发布”选项卡
    3. 单击“应用程序文件...”按钮
    4. 在“应用程序文件”弹出窗口中,选择底部的“显示所有文件”复选框
    5. 每种语言都有 3 个 dll,如果您将发布状态设置为“排除”,它们将不会随 ClickOnce 应用程序一起发布

    我遇到的问题是没有单击“显示所有文件”复选框,看起来语言 dll 都包含在基本 dll 中。如果您这样做,那么 ReportViewer 将只会以您包含的 dll 的语言显示。

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

    【讨论】:

    • 我希望我可以在下载过程中选择包,以避免以后排除它们。
    猜你喜欢
    • 2015-09-10
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2011-03-05
    • 1970-01-01
    相关资源
    最近更新 更多