[bug] VS 2008 特定情況下無法識別 ASPX 原始碼

這篇從某個角度算是 bug ,但是開發部門說不改,並停止支援,所以涼拌炒雞蛋…
我自己常常覺得開發部門跟使用者的著眼位置都不同,不過沒辦法,開發部門是老大…

標題:

VS 2008 特定情況下無法識別 ASPX 原始碼

 

造成問題:

不易進行開發設計,影響程式碼撰寫效率

 

重現步驟(產生之測試檔如附件,分配到此問題的工程師若無收到附件,請發 eMail 通知我轉寄):

1.      新增虛擬應用程式目錄 Test,並開設子目錄 aspxIDEError

2.      在 VS2008 IDE環境下開啟新的aspx檔案,並貼上下方測試程式碼,分別存成 ide2008c.aspx 及 ClientTool.aspx。 (可直接解壓縮附加檔內程式碼使用)

 

ide2008c.aspx 

<!– #include virtual = “/Test/aspx/IDEError/ClientTool.aspx" –>

<script language=vb runat=server id="modLunarDate">

     Function UtcDateMain()

      Dim lc As Date = DateTime.UtcNow

          Response.Write(lc.ToString)

     End Function

</script>

<%

     UtcDateMain()

%> 

 

ClientTool.aspx 

<script language=vb runat=server id="modClientTool">

   Public Function ReturnHello() As String

      Return “Hello!"

   End Function

</script> 

 

3.      關閉 VS2008 IDE 環境

4.      重新開啟 VS2008 IDE 環境,並開啟 ide2008c.aspx 檔。

 

發生無法辨識檔內的原始碼,原始碼無變色,滑鼠停在變數或類別上不會跳出說明,不能使用 intellisense 協助編寫程式。

 

錯誤的螢幕拷貝如下 (附件 error.png),注意圖上錯誤發生位置:Function, As Date 等關鍵字沒有變色,函數名下方沒有標記警告,滑鼠停留 ToString 沒有彈跳說明。

 

 

  

正確的螢幕拷貝如下 (附件 good.png)

 

 

  

其他測試補充:

1.      VS2005 並無此問題,可正常辨識原始碼。

2.      在同一虛擬應用程式目錄下各子目錄內,均無法正常辨識原始碼。

例如將 ide2008c.aspx 拷貝到 Test 目錄下,或 Testaspx 下,或 TestSub 下。

 

3.      放在不同虛擬應用程式目錄下各子目錄內,可正常辨識原始碼。

例如將 ide2008c.aspx 拷貝到新開設之虛擬應用程式目錄 aspx 下時。

 

4.      使用 <!– #include file = “ClientTool.aspx” –>,可正常辨識原始碼。但因參照需求須使用絕對路徑。

5.      經測試使用 <!– #include virtual = “xxxx.aspx” –>,部分可正常辨識原始碼,但部分無法正常辨識原始碼,由於無法過濾出正確重現步驟,故此描述僅供參考。

 

 

連絡資訊:

姓名:鄭子璉

電話:xxxxxxxxxxx / xxxxxxxxx

技術支援服務合約編號:xxxxxxxxxx

E-Mail xxxxxxx@xxxxx.xxx.xxx , xxxxxxx@xxxxx.xxx.xxx

 

背景:

以下軟體皆為繁體中文版 (MSDN  VST 版)

OS: Windows  2003  R2 SP2 + Microsoft Update (2008/12/11)

VSTS 2005: 8.0.50727.762  (SP.050727-7600) + .Net 2.0.50727 SP2 + Microsoft Update (2008/12/11)

VSTS 2008: 9.0.30729.1 SP + .Net 3.5 SP1 + Microsoft Update (2008/12/11)


CSS 先回了一篇:

Sent: Friday, December 26, 2008 12:04 AM
To: 鄭子璉

Subject: CASE ID:SRT081225832890 TITLE : VS 2008 特定情況下無法識別 ASPX 原始碼  

 

Hi Mr.Cheng

 

I’m Louis’s backup for this case.

I can also reproduce your issue.

 

I added below red line on the top of ASPX page and the problem was gone.

For a standard ASPX page, it should has the line on top of page when you create a new page.

Please have a try and let me know the result.

 

<%@ Page Language="VB" %>

 

 

 

Best Regards,

資深技術支援工程師 Senior Support Engineer
Developer Team
Global Technical Support Center – Taiwan
技術支援服務首頁: http://support.microsoft.com
技術支援專線 : 0800-008-833 / 02-2999-8833


因為我當初說明不夠,所以造成誤解,我又補充如下:

你好:

 

此方法在實做上是不可行的。

 

1.     在使用 include 做為串接時,可能有多層,此方法僅能用於其中一個檔案,否則會出現錯誤訊息,例如同時在 ide2008c.aspx , ClientTool.aspx 加上指示詞:

‘/TEST’ 應用程式中發生伺服器錯誤。

 

 

剖析器錯誤

描述: 當剖析服務此要求所需的資源時發生錯誤。請檢閱下列的特定剖析錯誤詳細資訊,並且適當地修改您的原始程式檔。

剖析器錯誤訊息: 只可以有一個 ‘page’ 指示詞。

原始程式錯誤:

 

1:  <%@ Page Language="vb" %>

2:  <script language=vb runat=server id="modClientTool">

3:     Public Function ReturnHello() As String

原始程式檔: /Test/aspx/IDEError/ClientTool.aspx    : 1

 

 

版本資訊: Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053

 

例如串三層,有 inc1.aspx / inc2.aspx / inc3.aspx 時,實務上指示詞只能用於其一,則仍有一個以上的 aspx 會發生無法辨識,在我的系統中,一般會串接與並接到 5 ~ 10 層。

 

2.     在複雜 include 串接或並接時,即使最末端展示網頁有使用指示詞的網頁,仍會發生無法辨識的問題,下面兩個網頁顯示的內容螢幕拷貝,均是實際上可正常執行,但無法辨識的案例,事實上本案舉出的測試例就是從這幾個實際無法顯示的案例精簡出來的:

 

此案例中,LunarDate.aspx 置於 /aspx/Tools/ajax/ 目錄下,ResponseFile.aspx / Lunar.vb 後面就沒有再串聯或並聯。

 

 

  

此案例中,WebClient.aspx 置於 /aspx/Tools/ajax/ 目錄下,ResponseFile.aspx 後就沒有再串聯。

 

 


最後,結案說明如下:

Sent: Wednesday, January 14, 2009 9:29 AM
Subject:
微軟回覆您的問題(VS 2008 特定情況下無法識別 ASPX 原始碼)

 

 

問題代號SRT081225832890

 

問題描述VS 2008 特定情況下無法識別 ASPX 原始碼

 

The current situation you met is that: In VS 2008, IDE/IntelliSense is disabled when editing ASPX page which has “<!– #include>” directive.

 

問題說明

 

我們已向美國的RD取得回覆,由於您的程式寫法是早期的Asp開發方式,目前確認VS2008已不支援Classic ASP Syntax Highlighting

 

此問題在美國論壇已有非常多人反應,但Product Group的建議是使用VS2005來開發早期的Asp程式寫法,詳細的說明您可以參考以下文章的討論

 

No intellisense and color-coding for classic ASP in VS2008 Beta 2

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=290845

 

Thank you for this feedback. We are depcrecting VB Script colorization and intellisense support in Visual Studio 2008. We recommend to customers to use VS 2005 or VWD 2005 to edit VB Script. Those products can be installed on the same machine as VS 2008 without any issues.

– Visual Web Developer Team

 

Note 建議您可以在此網站加入您的feedbackProduct Group

 

問題狀況結案

 

=============================================================================================

 

請您參考上述資訊,若有任何不清楚或需要進一步協助,請儘速與我連絡,謝謝!

希望您非常滿意我的服務,感謝您向台灣微軟技術支援處查詢問題。

 

技術支援工程師 Support Engineer
Developer Team
Microsoft Product Support Services

GTSC(Global Technical Support Center – Taiwan)
技術支援服務首頁: http://support.microsoft.com

客服專線 : 0800-008-833 / 02-2999-8833


對於 CSS 說這是 ASP 寫法,我有點意見,我舉下面網址 .Net framework 3.5 SDK 為例:
所以我認為這個叫做 .Net framework SDK 寫法。
 
相信很多人還得維護 asp ,更不要說這是 aspx 的網頁,這不等於叫使用者安裝兩套軟體嘛~
所以我才說 VS Developer Team 的想法跟使用者差異滿大的,而且目前 include file 正常,include virtual 在同一應用程式目錄下,是正常的,只有再跨不同的虛擬目錄時,才會短路,而且是找得到才短路,找不到檔案反而正常。說難聽點,VS Developer Team 根本隨便拿理由搪塞,搞不好回覆的人都沒搞清楚。VS 基本上是支援,並非是上面說的不支援,只是有點短路,反正是不改了,就隨便參考吧。
廣告
Categories: 更新與回報 | 1 則迴響

文章分頁導航

One thought on “[bug] VS 2008 特定情況下無法識別 ASPX 原始碼

  1. 阿貴

    跟您有同樣的困擾 MS對於 asp 在 VS上的支援跟本是沒有更何況我們是用jscript在寫server端的 asp/aspx survey 許久網路資源總是找不到什麼完整的文件….

    按讚數

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

在WordPress.com寫網誌.

%d 位部落客按了讚: