Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

專案發生 Error CS1010,CS1056 錯誤

接手一個悠久歷史的專案,但是版控有點混亂,所以正在重新整理。過程中,發生了各項問題,然後耗費最多時間的,就是標題上的錯誤了。

問題描述

先附上開發環境

1
2
3
OS Name:                   Microsoft Windows 10 Pro
OS Version: 10.0.16299 N/A Build 16299
Editor: Visual Studio Enterprise 2017 Version 15.6.6

先說明這是一個 webform 的 website project ,發生的錯誤訊息如下

error CS1010: Newline in constant
error CS1056: Unexpected character ‘’
error CS1056: Unexpected character ‘’
error CS1056: Unexpected character ‘€’
error CS1010: Newline in constant

error

問題分析

看說明,初步認為幾個可能:

  1. 檔案內容內的 { 之類的缺少或是跑掉,造成有些錯誤
    仔細看過後,發現完全沒有這種現象,直接排除

  2. 字串變數的內容有些文字的編碼問題
    調整了字串內容的編碼,但是毫無影響,也排除

  3. 換行符號等
    一開始認為這個可能性最高,除了換行符,或是其他特殊字元影響,透過 notepad++ 查看,發現也不是此可能

  4. 編碼問題
    上述的特殊字元排除後,就想到編碼問題,但是查看後,發現檔案是 utf-8 ,也沒有亂碼的現象,一度以為不是此可能了。最後發現 aspx 頁面的編碼與對應的 .cs 檔案編碼不同;aspx 頁面編碼是 utf-8 BOM

解決方式

找到問題後,解決方式很簡易,讓兩個檔案的編碼相同即可;透過 notepad++ 或是 VSCode 或是 Visual Studio 2017 另存新檔,然後選擇編碼,以上這些都可以變更檔案編碼,以下附上 Visual Studio 2017 變更編碼的圖片。有興趣想了解 BOM 的,請看連結的 wiki

Visual Studio 2017

歡迎關注我的其它發布渠道