Я использую MigraDoc (v1.32.3885) для отображения некоторых отчетов для моего приложения .NET 4.0, которое частично является VB. NET и С#. Основной пользовательский интерфейс — VB.NET, но это не имеет значения. Система имеет ряд различных отчетов.
У одного пользователя возникла проблема с некорректным отображением этих отчетов. Все отчеты, кажется, работают нормально для других пользователей. Я не знаю почему и не знаю, где еще можно найти информацию.
Обычно таблицы отчетов смещены, и логотип компании никогда не отображается — отображается изображение не найдено — даже если пользователь, у которого возникли проблемы, может нормально загрузить логотип в редакторе рисования.
Приложение запускается пользователями из общей папки UNC, куда также копируются все библиотеки DLL. Все пользовательские ПК работают под управлением одной и той же платформы — Microsoft Windows NT 5.1.2600 с пакетом обновления 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, поэтому я запутался в этом.