My MVC решение .NET имеет 2 проекта:.net MVC развертывания на IIS7 Экспресс: Считывание внедренных ресурсов
Фактический веб-проект
Это все мои модели, представления, контроллеры, атрибуты и т. д. Некоторые из контроллеров ссылаются на мой проект Reporting, который включает в себя локальные отчеты (например, отчеты, не относящиеся к серверу), в которых используются SSRS и PDF-генерация.
Отчетный проект
Это включает в себя код, который будет подключаться к базе данных и генерации отчетов. Проект также включает папку, в которой есть куча шаблонов отчетов. Шаблоны отчетов представляют собой «встроенные ресурсы». Я подтвердил, что они появляются в папке bin приложения MVC при развертывании.
Проблема заключается в том, что при вызове кода отчетности внутри контроллера IIS ищет файл отчета относительно IIS. В коде отчета я могу сказать «report/confirm.rdlc». Это прекрасно работает в консольном приложении, однако после развертывания с IIS этот путь заканчивается «C:/program files (x86)/iis express/reports/confirm.rdlc», которого не существует.
Я также попытался «~/report/confirm.rdlc» получить тот же результат.
Я предполагаю, что это означает, что домашняя папка (~) на самом деле является корнем IIS Express. Как я могу изменить это приложение?