为什么我需要投递DevExpress.Printing.v14.2.Core.dll

Why do I need to deliver DevExpress.Printing.v14.2.Core.dll

我已经使用 DevExpress 控件实现了一个 WPF 应用程序。 完成后,我优化了 Visual Studio 中的引用(使用 Resharper)。我还剩下以下参考资料:

DevExpress.Data.v14.2.dll
DevExpress.Mvvm.v14.2.dll
DevExpress.Xpf.Core.v14.2.dll
DevExpress.Xpf.Grid.v14.2.dll
DevExpress.Xpf.Grid.v14.2.Core.dll
DevExpress.Xpf.Ribbon.v14.2.dll

在干净 OS 上启动应用程序时,它崩溃了。使用 Process Monitor,我发现它在 10 个不同的地方寻找 DevExpress.Printing.v14.2.Core.dll 但找不到它。

该 DLL 的大小为 3 MB,如果可能,我想避免提供它。

Dependency walker 似乎不适用于 .NET。

我已阅读 DevExpress about required libraries,但那是针对 XtraReports 的,我没有在我的应用程序中使用它。

为什么我的应用程序会查找未被引用的 DLL?

使用 JetBrains dotPeek 找到答案:

DevExpress.Xpf.Core.v14.2.dll 和 DevExpress.Xpf.Grid.v14.2.dll 都引用了 DevExpress.Printing.v14.2.Core.dll .

您的应用程序包含 DXGrid。因此,根据 DXGrid's required Redistributable Assemblies list, the DevExpress.Printing.v14.2.Core.dll assembly contains classes that allows to implement the functionality for DXGrid's printing and exporting based on DXPrinting library.