日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

再次记录 Visual Studio 2015 CTP 5 的一个坑

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 再次记录 Visual Studio 2015 CTP 5 的一个坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

升級到 VS2015 CTP 之后,今天要改項目中的一個東西,然后就不得不把 C# 6.0 改變的語法代碼中改了下(之前沒改,大約200多個),首先,比如下面示例代碼:

var fullName = "\{customer.FirstName} \{customer.LastName}";

項目中有很多這樣的類似代碼,這些都得改掉,怎么辦?手動改???算了,還是批量修改吧,但是怎么批量替換呢,難道直接把“?{”替換成“{”,但是“$"該怎么加呢?這個問題我思考了好久,之后還想用正則表達式替換,但是語法寫不出來,哎,最后的替換方式是:手動+替換,替換“?{”,然后手動在字符串前加“$”。

這里需要注意的是,千萬不要批量替換“?{”,因為替換之后,你不知道哪里用到了字符串變量,因為它會把“{”作為字符串的一部分,而沒有了錯誤提示和智能提示,這個千萬要記住,如果你這樣替換,那你就死了。

再記錄一個,之前在"{"中,寫三目表達式是可以的,比如下面:

var fullName = "\{customer.FirstName =="xishuai" ? "cnblogs_xishuai" : customer.FirstName} \{customer.LastName}";

但是,替換成現在的語法特性,比如下面:

var fullName = $"{customer.FirstName =="xishuai" ? "cnblogs_xishuai" : customer.FirstName} {customer.LastName}";

上面這樣寫是會報錯的,這個問題也困擾我很久,難道這也不支持?最后搞了好久,發現要在表達式上加“()”,如下:

var fullName = $"{(customer.FirstName =="xishuai" ? "cnblogs_xishuai" : customer.FirstName)} {customer.LastName}";

事情還沒完,話說我改的差不多了,我自認為是把所有的語法特性的代碼都改了,然后充滿信心的“Build”,然后就出現了下面這樣的情況:

錯誤信息:“Metadata file 'xxxxxx.dll' could not be found” CSC,這個問題看到都頭疼,然后我就搜遍了 Google,基本上的解決方式是:

  • Clean every project individually (Right click> Clean).
  • Rebuild every project individually (Right click> Rebuild).
  • Rebuild the startup project.
  • 無效,再搜,再嘗試,無效,再搜,再嘗試。。。

    解決一個問題,如果方向錯了,那你就死慘了,我現在就是這樣。

    最后猜怎么著?還是代碼問題,有一個類庫的語法特性代碼沒有改掉,我滴媽呀,為什么 VS2015 CTP 的錯誤提示沒有顯示出來呢,而是顯示了一些亂七八糟的東西,最后發現的地方是 Output(輸出窗口):

    error CS1009: Unrecognized escape sequence

    看到這樣的錯誤,我就釋然了,要改代碼了。



    本文轉自田園里的蟋蟀博客園博客,原文鏈接:http://www.cnblogs.com/xishuai/p/vs2015-ctp-c6-keng.html,如需轉載請自行聯系原作者

    總結

    以上是生活随笔為你收集整理的再次记录 Visual Studio 2015 CTP 5 的一个坑的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。