我被要求更新舊的VB.NET web應用程序,這不是我最舒適的技術與更多的桌面人物。無論如何,我試圖處理它!<script runat =「server」>裏面的代碼在調試時效果很好,但是在本地IIS上部署時沒有效果
我面臨一個我無法解決的問題(請原諒我,如果問題很奇怪)。首先,代碼在生產中運行良好,因爲這是客戶端源代碼。當我在調試模式下啓動站點時,它在VS中也能很好地工作。當我在網站上公佈,以我的本地IIS,頁面失敗
App_Code文件夾中包含一個Database.vb文件,包含一個數據庫類,有以下方法:
Option Strict On
Imports System.Text
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.Caching
Imports System.Collections
Public Class Database
Public Shared Sub ExecuteDataTable(ByVal strSQL As String, ByRef dt As DataTable)
...
End SUb
我有一個ASPX包含以下代碼
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
LoadGrid()
End Sub
Private Sub LoadGrid()
Dim strSQL As String = "sp_XXXXXXXXXXXXXXXXXXX"
Dim dt As New System.Data.DataTable
Database.ExecuteDataTable(strSQL, dt)
grd_Data.DataSource = dt
grd_Data.DataBind()
End Sub
</script>
一切頁作品在本地調試正常,但只要我公佈我的本地IIS7的網站我得到這個錯誤:
Server Error in '/' Application.
Compilation Error
Compiler Error Message: BC30456: 'Database' is not a member of '<Default>'.
Line 18: Global.Database.ExecuteDataTable(strSQL, dt)
注:
數據庫類是到處被使用在項目和工作正常。我在這裏注意到的唯一區別是,代碼在使用腳本runat =「server」而不是通常的.vb文件的aspx文件中。不知道它會導致問題,因爲它在本地運行良好。
我試着在第18行使用Global.Database,但是遇到了同樣的問題。
該解決方案的目標框架是v4.0。在IIS7應用程序池也被設置爲V4.0
任何想法/鉛幫我解決這個問題,將不勝感激:)提前
謝謝!
注意:如果我是[你](http://msdn.microsoft.com/en-us/library/ms187926.aspx),我會失去'sp_'前綴:「避免在命名過程中使用** sp _ **前綴,這個前綴被SQL Server用來指定系統過程,如果有一個同名的系統過程,使用前綴可能導致應用程序代碼中斷。 –
這是真的,這就是我通常實際做的,但我寧願有這個應用程序,我只是在重新命名數百個存儲特效之前拿到手中的當前代碼;) – Pascamel