ankitchourasia07 Ответов: 1

Во время локальной обработки отчета произошла ошибка.


Во время локальной обработки отчета произошла ошибка.
Определение доклада 'E:\Markfed\Link_Report\OpeningStockReport.rdlc-это недопустимо.
При компиляции выражений произошла непредвиденная ошибка. Возвращаемое значение собственного компилятора: ‘[BC2012] не удается открыть 'C:\Windows\TEMP\expression_host_9c0eaa032bb64a25be60c4cccf4464f2.dll" для письма’.

я добавил Все dll файлы

Microsoft.ReportViewer.Common.dll
Майкрософт.Элемент управления reportviewer.ProcessingObjectModel.dll
Майкрософт.Элемент управления reportviewer.WebForms.dll
Майкрософт.Элемент управления reportviewer.WinForms.dll

произошла ошибка на server.in местный проект работает нормально

Что я уже пробовал:

В локальном проекте работает нормально ошибка не отображается но на сервере произошла ошибка

1 Ответов

Рейтинг:
1

Jochen Arndt

Процесс не имеет доступа на запись в папку C:\Windows\TEMP что вполне ожидаемо, поскольку это системная папка, требующая административных привилегий для чтения и записи.

То, что он работает в вашем локальном проекте, указывает на то, что вы запускаете его там от имени администратора (или - что еще хуже - изменили права доступа к папке).

Вы должны проверить, где в вашем коде эта папка определена как временная папка, а не использовать одну из временных папок пользователя, запускающего приложение.


ankitchourasia07

но почему он показывает ошибку в .rdlc reporting tool .its прекрасно работает на странице .aspx на сервере в той же папке.. и как дать разрешение после развертывания

Jochen Arndt

Я не знаю, почему это работает на некоторых системах. Но я уже объяснил, почему он не работает на других системах. Решение состоит не в том, чтобы предоставить всем системам доступ к папке, а в том, чтобы сделать это правильно, не используя эту папку.

Выясните, где он определен в вашем коде / настройках, и замените его одной из общих временных папок.

Или ошибка возникает во время какой-то настройки? Затем настройка должна быть выполнена от имени администратора.

Папка "%WINDIR%\TEMP" предназначена для использования системой только с последней версией Windows. Он был использован Windows 2/3 и 9x в качестве временной папки, но больше не должен использоваться приложениями начиная с (AFAIK) Windows XP.