我正在使用MigraDoc (v1.32.3885) 为我的 .NET 4.0 应用程序呈现一些报告,该应用程序部分是 VB.NET 和 C#。主 UI 是 VB.NET,但这无关紧要。该系统有许多不同的报告。
一位用户在显示这些报告时遇到问题。所有报告似乎都适用于其他用户。我不知道为什么,也不知道还能去哪里获取一些信息。
通常报告表格未对齐并且公司徽标从不显示 - 显示未找到图像 - 即使有问题的用户可以正常将徽标加载到绘图编辑器中。
该应用程序由用户从一个 UNC 共享中运行,所有 DLL 都在该共享中被复制。所有用户 PC 都运行相同的平台——Microsoft Windows NT 5.1.2600 Service Pack 3(32 位)——即 XP——安装了 .NET4。我拼凑了一个屏幕,在其中记录了应用程序用户的所有文件,这些文件存储在列表视图中,然后复制到剪贴板进行分析:
Dim assembly = Reflection.Assembly.GetExecutingAssembly()
Dim loadedAssemblies = assembly.GetReferencedAssemblies()
For Each an In loadedAssemblies
Dim a = Reflection.Assembly.Load(an.FullName)
Dim fvi = FileVersionInfo.GetVersionInfo(a.Location)
Dim lvi As New ListViewItem
Me.FileVersionsListView.Items.Add(lvi)
lvi.Text = fvi.FileName
lvi.SubItems.Add(fvi.FileVersion)
Next
所有记录的文件和版本都使用相同的引用程序集 - 相同的框架,相同的文件版本(来自上述)。
用户使用 Adobe Reader 来查看生成的 PDF 报告,但即使我使用 MigraDoc.Rendering.Forms.DocumentPreview - 对于这个用户,在 Adobe 中也会出现相同的严重渲染报告。
MigraDoc 和 PDF Sharp 似乎没有任何外部依赖项——只有 .NET Framework,所以我对此感到困惑。