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

<>以前var  fullName =,“\ {customer.FirstName}, \ {customer.LastName}”;

项目中有很多这样的类似代码,这些都得改掉,怎么办?手动改? ? ?算的了,还是批量修改吧,但是怎么批量替换呢,难道直接把“<强> \{“替换成“<强>{强”,但是“<强> 强美元“该怎么加呢?这个问题我思考了好久,之后还想用正则表达式替换,但是语法写不出来,哎,最后的替换方式是:手动+替换,替换”<强> \{强”,然后手动在字符串前加“<强> 强美元”。

这里需要注意的是,千万不要批量替换”<强> \{强”,因为替换之后,你不知道哪里用到了字符串变量,因为它会把“<强>{强”作为字符串的一部分,而没有了错误提示和智能提示,这个千万要记住,如果你这样替换,那你就死了。

再记录一个,之前在“<强>{强”中,写三目表达式是可以的,比如下面:

 var  fullName =,“\ {customer.FirstName ==皒ishuai”, ?,“cnblogs_xishuai”,:, customer.FirstName}, \ {customer.LastName}”; 

但是,替换成现在的语法特性,比如下面:

 var  fullName =, $”{customer.FirstName ==皒ishuai”, ?,“cnblogs_xishuai”,:, customer.FirstName}, {customer.LastName}”; 

上面这样写是会报错的,这个问题也困扰我很久,难道这也不支持?最后搞了好久,发现要在表达式上加“()”,如下:

 var  fullName =, $”{(customer.FirstName ==皒ishuai”, ?,“cnblogs_xishuai”,:, customer.FirstName)}, {customer.LastName}”; 

事情还没完,话说我改的差不多了,我自认为是把所有的语法特性的代码都改了,然后充满信心的“构建”,然后就出现了下面这样的情况:

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

错误信息:“元数据文件“xxxxxx。dll不能发现”CSC,这个问题看到都头疼,然后我就搜遍了谷歌,基本上的解决方式是:

<李>

清洁每个项目单独(click> <强>;干净的)。李李

<>

重建每个项目单独(click> <强>;重建)。李李

<>

重建启动项目。

无效,再搜,再尝试,无效,再搜,再尝试…

解决一个问题,如果方向错了,那你就死惨了,我现在就是这样。

最后猜怎么着?还是代码问题,有一个类库的语法特性代码没有改掉,我滴妈呀,为什么VS2015 CTP的错误提示没有显示出来呢,而是显示了一些乱七八糟的东西,最后发现的地方是输出(输出窗口):

 error  CS1009:, Unrecognized  escape 序列

看到这样的错误,我就释然了,要改代码了。


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