再次记录 Visual Studio 2015 CTP 5 的一个坑
接上一篇:升级 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
看到这样的错误,我就释然了,要改代码了。
再次记录 Visual Studio 2015 CTP 5 的一个坑的更多相关文章
- 升级 Visual Studio 2015 CTP 5 的坑、坑、坑
前两天,微软发布了 Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之 ...
- Visual Studio 2015 前端开发工作流
Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之前的版本为:Visu ...
- Visual Studio 2015无法进行Package Restore的原因和解决方案
这篇文章是记录在我的当前电脑上面,安装Visual Studio 2015 Community Edition出现的无法进行Package Restore的问题,很可能在你的电脑上面无法重现.我的环境 ...
- 如何正确并完全安装Visual Studio 2015企业版本?
http://blog.csdn.net/code_godfather/article/details/47381631 [简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 个人网站: ...
- Visual Studio 2015 CTP6 发布
微软发布ASP.NET 5 支持在Windows.Mac和Linux上构建程序,Visual Studio 2015 CTP6(社区预览版)现已发布了.感兴趣的朋友们可以登录官网下载[http://w ...
- Visual Studio 2015下编译zmq项目下其他项目踩进的项目引用坑
PS.在之前的一篇文章中介绍了如何用Visual Studio 2015编译zmq,在编译同解决方案中除了libzmq之外的项目例如inproc_thr时会报错误,具如下: Severity Code ...
- [No0000AB]用Visual Studio 2015在 WIN10 64bit 上编译7-zip (32 bit)
1.7-ZIP简介 7-zip 是一款免费的压缩解压软件.ZIP格式的文件默认被苹果和微软支持,完全不需要额外安装其他软件就可以解压.但对于非US-ASCII编码的文件名和大于2GB的ZIP文件,可能 ...
- Visual Studio 2015 开发 ASP.NET 5 有何变化?
本篇博文目录: ASP.NET 5 模版 ASP.NET 5 目录结构 前端管理工具 无编译开发 Microsoft Git Provider 智能感知和错误信息 Smart Unit Testing ...
- 使用Visual Studio 2015 Community 开发windows服务
昨天研究在.NET下开发Windows服务程序,期间遇到一些小问题,这里仅将自己的开发过程和需要注意的地方写下和广大网友分享…… 1.基础 Windows服务是指系统启动时能够自己运行的程序.W ...
随机推荐
- java的值传递笔记
1. 背景:开发小伙伴突然问我java是值传递还是引用传递,我说当然是值传递,只不过有时候传递一个对象时实际传递的是对象的地址值,所以让人容易产生一种引用传递的假象,貌似在李刚的疯狂java讲义有提到 ...
- Webform 上传图片加水印
界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...
- Python之路Day21-自定义分页和cookie
本节知识点概要 1.URL 2.views - 请求其他信息 - 装饰器 3.Templates - 母版 - 自定义 4.Models操作 5.分页(自定义分页) 6.cookie 7.sessio ...
- 【转】博弈—SG函数
转自:http://chensmiles.blog.163.com/blog/static/12146399120104644141326/ http://blog.csdn.net/xiaofeng ...
- bat 延时删除指定文件夹中的文件经验分享
1.bat延时 xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行. win7中通过timeout 20 来实现延时20秒. 2.删除指定文件 del /q ...
- 四则运算项目git统计
GitHub统计 1.Git文档目录 图 1文档结构预览 2.Git提交进度图 图 2 9月12日-10月3日 图 3 10月3日-10月14日 图 4 10月14日-10月21日 图 5 10月21 ...
- 利用js来实现文字的滚动(也就是我们常常见到的新闻版块中的公示公告)
首先先看一下大致效果图(因为是动态的,在页面无法显示出来) 具体的实现代码如下: 1.首先是css代码: <style type="text/css"> body,ul ...
- VS2015安装&简单的C#单元测试
<软件工程>开课已经三周了,三周的上课感觉就是老师教授的概念性东西少了不少,基本就是贯穿“做中学”的教学理念,三周的时间让我学到了挺多东西,很多东西都是课本没有的. 这周的任务就是安装VS ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- 微软发布TX(LINQ To Logs And Traces)
微软开源技术公司于发布了Tx,这是一个Apache 2协议的开源项目,可以使用日志/跟踪文件辅助调试,以及创建实时监控和告警系统. 下面是几个引人关注的功能-- 允许在原始事件源上使用LINQ 允许在 ...