Asp.net mvc Crystal Report正在本地主机上工作,但在IIS上不工作

Asp.net mvc Crystal Report正在本地主机上工作,但在IIS上不工作,asp.net-mvc,crystal-reports,Asp.net Mvc,Crystal Reports,我在本地主机中使用crystal report,它似乎工作正常,但当我发布网站时,发布crystal report文件并不算在内,当我将其从我的项目复制到该位置时,它似乎不起作用。我在谷歌上找不到任何与此相关的东西 这是我正在使用的代码 Function Print() Dim rptH As ReportClass = New ReportClass Dim dt As New DataTable Dim ds As Ne

我在本地主机中使用crystal report,它似乎工作正常,但当我发布网站时,发布crystal report文件并不算在内,当我将其从我的项目复制到该位置时,它似乎不起作用。我在谷歌上找不到任何与此相关的东西

这是我正在使用的代码

Function Print()
            Dim rptH As ReportClass = New ReportClass
            Dim dt As New DataTable
            Dim ds As New DataSet
            Dim da As New SqlClient.SqlDataAdapter
            Dim cmd As SqlClient.SqlCommand
            Dim conn As New SqlConnection(connectionString)
            Dim sSql As String
            sSql = "EXEC SP_MEDICINE_BILL 1,2014,1,104493,' ',' '"
            cmd = New SqlClient.SqlCommand(sSql, conn)
            da.SelectCommand = cmd
            cmd.CommandTimeout = 300
            da.Fill(ds, "SP_MEDICINE_BILL")
            rptH.FileName = Server.MapPath("~/Reports/MedicineBillDoc.rpt")
            rptH.Load()
            rptH.SetDataSource(ds)
            Dim stream As Stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)
            Return File(stream, "application/pdf")
        End Function

我得到了解决方案,我发现问题不是服务器端或编程相关的问题。我需要将crystal reports的build action属性设置为content,它开始正常工作

我以前做过类似的事情,但我需要一个虚拟目录来完成这项工作。流程如何知道从何处选择pdf文件??我在你的代码中看不到这一点。我已经给出了路径名~/Reports/MedicineBillDoc.rpt,它导出到stream,然后stream返回一个文件