2012-06-30 6 views
0

My MVC решение .NET имеет 2 проекта:.net MVC развертывания на IIS7 Экспресс: Считывание внедренных ресурсов

  1. Фактический веб-проект

    Это все мои модели, представления, контроллеры, атрибуты и т. д. Некоторые из контроллеров ссылаются на мой проект Reporting, который включает в себя локальные отчеты (например, отчеты, не относящиеся к серверу), в которых используются SSRS и PDF-генерация.

  2. Отчетный проект

    Это включает в себя код, который будет подключаться к базе данных и генерации отчетов. Проект также включает папку, в которой есть куча шаблонов отчетов. Шаблоны отчетов представляют собой «встроенные ресурсы». Я подтвердил, что они появляются в папке bin приложения MVC при развертывании.

Проблема заключается в том, что при вызове кода отчетности внутри контроллера IIS ищет файл отчета относительно IIS. В коде отчета я могу сказать «report/confirm.rdlc». Это прекрасно работает в консольном приложении, однако после развертывания с IIS этот путь заканчивается «C:/program files (x86)/iis express/reports/confirm.rdlc», которого не существует.

Я также попытался «~/report/confirm.rdlc» получить тот же результат.

Я предполагаю, что это означает, что домашняя папка (~) на самом деле является корнем IIS Express. Как я могу изменить это приложение?

ответ

0

Вместо этого попробуйте использовать Server.MapPath("~/bin/reports/confirmation.rdlc").

 Смежные вопросы

  • Нет связанных вопросов^_^