.net MVC在IIS7 Express上部署:读入嵌入式资源

时间:2012-06-30 03:01:26

标签: asp.net-mvc iis iis-express

我的MVC .net解决方案有两个项目:

  1. 实际的网络项目

    这是我的所有模型,视图,控制器,属性等。一些控制器引用我的报告项目,其中包括使用SSRS和PDF生成的本地(例如非服务器报告)报告。

  2. 报告项目

    这包括将连接到数据库并生成报告的代码。该项目还包括一个包含大量报告模板的文件夹。报告模板是“嵌入式资源”。我确认在部署时它们会显示在MVC应用程序的bin文件夹中。

  3. 问题是,当我从控制器中调用报告代码时,IIS会查找相对于IIS的报告文件。在报告代码中,我可能会说“report / confirmation.rdlc”。这在控制台应用程序中运行良好,但是一旦我使用IIS部署,该路径最终将成为“C:/ program files(x86)/ iis express / reports / confirmation.rdlc”,这不存在。

    我也试过“〜/ report / confirmation.rdlc”来得到同样的结果。

    我假设这意味着主文件夹(〜)实际上是IIS Express根目录。如何更改应用程序?

1 个答案:

答案 0 :(得分:0)

尝试使用Server.MapPath("~/bin/reports/confirmation.rdlc")代替。