在 Visual C#.NET 中有檔案名稱以從不同語言的字元時,可能會收到多個錯誤

文章翻譯 文章翻譯
文章編號: 814910 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

徵狀

當您在 Visual C#.NET 中的檔名中使用不同語言從大寫字元時,可能會收到多個錯誤。當您重新命名要包含字元從不同的語言檔案在編輯器中開啟這些檔案當您編譯檔案時收到下列的警告訊息:
指定多次的來源檔案 ' filename '
而且,您可能會發現您不能瀏覽、 大綱、 新增色彩、 使用程式碼模型、 使用 Microsoft IntelliSense 或載入設計工具。也會發生下列問題:
  • 原始程式檔將會遺失色彩。
  • 偵錯工具會提示使用者開啟每一個中斷點之前和之後每次使用者] 步驟即使檔案已經開啟的檔案。
  • 中斷點不會顯示在偵錯,時,但是會叫用。
  • 您會收到 CS2002 編譯器警告。

其他可行方案

如果要解決問題,例如遺失顏色標示]、 [導覽]、 [程式碼模型] 或 [Intellisense,在編輯器中關閉檔案,然後重新開啟檔案。當您執行這項操作會還原所有服務。

如果要解決的偵錯問題,變更檔案名稱之後您關閉檔案在編輯器中。

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的有錯誤。

其他相關資訊

以下是您可能會遇到的問題:
  • 無法正常當您連按兩下 工作清單 中的錯誤的巡覽功能
  • 偵錯問題
  • 編譯器警告

重製行為的步驟

無法正常當您連按兩下 工作清單 中的錯誤的巡覽功能

  1. 將系統地區設定設定為土耳其文。
    要執行這項操作在 Windows XP,請依照下列步驟執行:
    1. 控制台中,按一下 [日期、 時間、 語言及地區選項,然後按一下 [地區及語言選項]。
    2. 在 [地區及語言選項] 對話方塊按一下 [進階] 索引標籤]。
    3. [非 Unicode 程式的語言,請從清單選取 土耳其文

    若要這麼做在 Microsoft Windows 2000 進階伺服器,請依照下列步驟執行:
    1. 控制台中,連按兩下 [地區選項]。
    2. 在 [一般] 索引標籤選取 [土耳其地區設定 (位置): 清單。如果您找不到 土耳其文,按一下以選取 [在 系統的語言設定] 下方的 [Turkic] 核取方塊。當您收到提示時,請重新啟動電腦。
    3. 在 [地區及語言選項] 對話方塊按一下 [輸入法地區設定] 索引標籤,然後按一下 [變更]。
    4. 在 [已安裝的服務 下, 按一下 [新增]。在 [新增輸入法語言] 對話方塊請從 輸入法語言] 清單選取 土耳其文
    5. 按一下 [確定]
    6. 工作列之的 [通知] 區域中按一下 [語言] 圖示,然後選取 [土耳其文
  2. 啟動 Microsoft Visual Studio.NET。
  3. 在 [檔案] 功能表上指向 [新增],然後按一下 [專案]。
  4. 在 [專案類型] 下按一下 [Visual C# 專案範本,] 下方按一下 [主控台應用程式,然後按一下 [確定]
  5. 在預設程式碼"Main"區段,加入下列程式碼:
    int iVal1 = 10;
    int iVal2 = 20;
    int iSum = 0;
    string str = "\u0049\u0131\u0130\u0069";
    iSum = iVal1 + iVal2;
    Console.WriteLine("the sum is {0} string = {1}", iSum, str);
  6. 建置專案。
  7. 插入中斷點。
  8. 按下 F5 以啟動偵錯。
  9. 按下 SHIFT + F5,在停止偵錯。
  10. 將 Class1.cs 檔案的名稱變更為 ?1.cs
  11. 介紹建置錯誤 (移除行結束字元";"來源的程式碼 ?.cs 中)。
  12. 建置應用程式。您收到的建置錯誤。
  13. 按兩下建置錯誤,在 工作清單
您會收到下列錯誤訊息:
「 無法完成作業"
檔案名稱會放在 工作清單] 中,就會發生此問題。正確的字串應該 ?1 」。放在 工作清單] 中的字串是"i1"),沒有相符的檔案名稱。

您也會遇到下列問題:
  • 所有語言服務停止作業或者沒有正確地工作。
  • 大綱、 顏色標示、 程式碼模型、 Intellisense 及載入設計工具無法運作。
  • 編輯器不會顯示在程式碼中設定的中斷點。

偵錯工具問題

偵錯工具的功能無法正確運作。
  1. 請遵循先前的步驟 2 到 7。
  2. 在編輯器中開啟 Class1.cs,然後再將檔案重新命名為包含來自不同語言的字元。比方說下列的土耳其字元: ?1.cs
  3. 建置專案。
  4. 按下 F5 以啟動偵錯。請注意偵錯工具提示您開啟該檔案,即使該檔案已開啟時。

編譯器警告

當您編譯具有兩個類似的檔案名稱的檔案時,您會收到警告訊息 CS2002。其中一個是使用土耳其字元和其他的相同的檔案名稱但拉丁字元。例如,file1 具有 ?1.cs (土耳其字元),而且 file2 有 I1.cs (拉丁字元)。

編譯檔案,在 Visual Studio.NET:
csc ?1.cs I1.cs
您收到下列的 CS2002 警告訊息:
原始程式檔 '?1.cs' 指定多次

屬性

文章編號: 814910 - 上次校閱: 2013年10月26日 - 版次: 2.2
這篇文章中的資訊適用於:
  • Microsoft Visual C# .NET 2002 Standard Edition
關鍵字:?
kbnosurvey kbarchive kbmt kbide kbdebug kbbug KB814910 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:814910
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com