2008-11-16 39 views
0

我有一個ASP.NET項目,並且在構建項目時顯示build suceessfull。但是當我構建部署項目時,它顯示構建失敗一個錯誤消息「aspnet_compiler.exe」退出代碼1「包括ASP文件時出錯

Error 5 "aspnet_compiler.exe" exited with code 1 

我重新檢查我的項目,發現當我刪除行<!--#include file="admin/topstyle.asp"-->,這是工作的罰款。如果我用這條線,我得到錯誤創建Web部署項目創建我的dll。

topstyle.asp是一個爲標題圖像和所有頁面渲染一些常見樣式的文件。

誰能告訴我如何擺脫這個問題?

回答

0

它能在其他頁面上成功嗎?也是ASP.NET頁面的Topstyle.asp頁面?如果沒有,它將無法正常工作,因爲你不能混合這樣的兩種技術。

在ASP.NET中,不鼓勵包含語法。嘗試使用用戶控件,或者使用<%= Globals.MyConstantThatContainsTheStyles%>。

如果您使用ASP 2.0查看使用母版頁,但這可能是您的應用程序的一個重大變化。

0

我發現編譯器有時在include指令中存在絕對路徑問題。不知道它是否解決了這個問題,但只要有可能,就嘗試使用<!-- include virtual="~/page.asp" -->

1

您不能在同一頁面中混合使用ASP.NET和ASP。 ASP.NET編譯器返回一個錯誤,因爲它不理解ASP代碼。

至於爲什麼項目構建好,那是因爲include-directives是web服務器的功能,而不是Visual Studio甚至是ASP.NET。在Visual Studio中構建時,include會被忽略,因爲編譯器甚至不知道它是什麼(它只是將其視爲HTML註釋),因此編譯器只能看到ASP.NET代碼和HTML ...但當頁面在運行中編譯時,Web服務器首先引入包含的文件,然後將整個事件傳遞給編譯器,然後當編譯器遇到包含的ASP代碼時,編譯器就會崩潰。

1

在vb.net代碼進行更改後解決了這個錯誤「aspnet_compiler.exe」與代碼1" 退出。該解決方案已成功建立,但發佈失敗。

的解決方案是成功打造,但發佈失敗,錯誤「aspnet_compiler.exe」用代碼1退出「。

在VB.NET代碼如下修改解決了這個錯誤:

以前的代碼:

dtRow.Item("ParentGroupName") = Session("SecondaryGroupItems").GetSecondaryGroupItem(Session("LgItems").GetLgItem(mFnTransaction.FnTransactionDetails(1).LgId).SecondaryGroupId).Name 

NEW CODE:

Dim mmSecondaryGroupId As Integer = 0 
Dim mmLgId As Integer = 0 

mmLgId = mFnTransaction.FnTransactionDetails(1).LgId 

mmSecondaryGroupId = DirectCast(Session("LgItems"), LgItems).GetLgItem(mmLgId).SecondaryGroupId 

dtRow.Item("ParentGroupName") = DirectCast(Session("SecondaryGroupItems"), SecondaryGroupItems).GetSecondaryGroupItem(mmSecondaryGroupId).Name