簡體   English   中英

帶有IIS服務器7.5上未運行的Crystal Reports的已發布網站

[英]published website w/ Crystal Reports not running on server IIS 7.5

我有2個Visual Studio 2010項目,它們分別使用Crystal Report版本13.02。

1有效,另一個正在獲取object reference not set to an instance of an object錯誤object reference not set to an instance of an objectobject reference not set to an instance of an object

我從頭開始開發了第一個應用程序,它是一個Web應用程序,它使用了多個現有的Crystal報表,並且正在使用Crystal報表查看器進行工作。 它是一個在c#使用asp.net 4.0 framework的Web應用程序項目。

另一個項目是一個較舊的VB網站項目,我從.net 2.0升級到4.0並且在無法將其升級到13.02之前運行良好。 該項目不使用查看器,而僅將數據打印到報表中。 在Visual Studio下的開發筆記本電腦上,它可以正常運行並打印,但發布到筆記本電腦的IIS 7.5和服務器的IIS 7.5上均不能正常運行。

我收到此錯誤,並窮盡了所有可能的選擇。 它不能成為驅動程序,因為Web應用程序項目在我的機器和服務器上都能正常工作。 我懷疑在找到答案之前我將被迫將項目轉換為Web應用程序項目...但是更希望找到一個答案來按原樣解決。

更新在進一步調試之后,我發現問題是PrintToPrinter方法,該方法在開發模式下也可以正常工作,但在發布時卻不能。

VB應用程序的web.config文件是否具有所有必需的Crystal參考? 在過去的幾天中,我一直在學習這很奇怪。

已解決的問題盡管確實存在,但仍未找到打印機。 這是因為IIS對資源的訪問權限與用戶不同,這是正確的,並且需要通過默認用戶鍵下的注冊表項或打印機的安全性選項將訪問權限授予訪問權限,以將IIS帳戶設置為在Web應用程序正在使用的應用程序池中的IIS下的“身份”選項下進行設置。

在此鏈接SAP站點上還詳細介紹了完整過程,結果是兩倍。

  1. 我使用此代碼段遍歷了所有可用的打印機(我從SAP復制並粘貼了該打印機,我為應用程序使用了C#並創建了要添加的列表框),並在打印過程中將其顯示在網頁上:

     Dim myPrinter As String For Each myPrinter In System.Drawing.Printing.PrinterSettings.InstalledPrinters add to list Next 
  2. 在Web服務器下,通過“ 計算機管理”,我將“本地服務IIS” id添加到“ 打印操作員”組。

  3. 在IIS下,使用網站使用的應用程序池的“ 高級設置 ”,將“標識”字段更改為LocalService

  4. 我通過再次運行代碼片段來驗證打印機是否可用,然后打印報告,然后運行並打印正常。

找到這個答案花了一段時間,如果沒有提供的幫助,我就無法到達那里。 我希望這可以幫助其他人。

您需要在生產服務器上下載並安裝CR。 * .msi程序

例如:CRRuntime_64bit_13_0.msi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM