我们头儿让我把代码改成支持 C# 5.0 语法的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yejinmo
V2EX    这个世界不完美

我们头儿让我把代码改成支持 C# 5.0 语法的

  •  
  •   yejinmo 2017-10-13 14:01:07 +08:00 4970 次点击
    这是一个创建于 2921 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的环境是 VS 2017 + C# 7.0

    头儿的环境是 VS 2013 + C# 5.0

    今天头儿去现场,用我的代码跑不起来,因为某些 7.0 的语法特性在 5.0 里并不受支持,然后头儿让我

    把环境换回 VS 2013 吧,或者把语法改回来也行

    ?????????????????????

    难道出了新标准不该进行升级么还抱着几年前的东西? C#语法可以做到向下兼容,为什么还要我手动给 7.0 的语法降级???

    坐等 V2 标准答案

    第 1 条附言    2017-10-13 17:22:43 +08:00
    我。。我现在在疯狂的改代码。。这贴让它沉了吧 = =
    56 条回复    2018-07-17 08:13:33 +08:00
    tabris17
        1
    tabris17  
       2017-10-13 14:03:37 +08:00   1
    要么忍要么走
    yejinmo
        2
    yejinmo  
    OP
       2017-10-13 14:05:52 +08:00
    @tabris17

    不走不走,今天周五我就在这刷 V2 了,改毛线的语法
    takanasi
        3
    takanasi  
       2017-10-13 14:07:06 +08:00   1
    把他环境换了
    qdk0901
        4
    qdk0901  
       2017-10-13 14:09:35 +08:00   1
    你们头儿在现场应该是屁股冒烟了吧
    murmur
        5
    murmur  
       2017-10-13 14:10:06 +08:00   2
    新特性能不能提升生产力
    有没有性能提升 有没有老类库解决不了的问题
    没有的话你头儿让你换有什么不对的么
    yejinmo
        6
    yejinmo  
    OP
       2017-10-13 14:10:31 +08:00
    @takanasi

    讲道理现在哪还有那么多老版本的项目需要那么多年前的环境,老是拿兼容性说事儿。。
    yejinmo
        7
    yejinmo  
    OP
       2017-10-13 14:11:11 +08:00
    @qdk0901

    各种编译错误,两百多个错误
    yejinmo
        8
    yejinmo  
    OP
       2017-10-13 14:13:37 +08:00
    @murmur

    三行代码能写成一行算么。。
    我抱怨的原因是
    旧版本有很多特性不支持,而且也没有兼容性问题,为什么不能用新特性呢
    况且 2017 比 2013 撸代码快多了,为啥不用呢。。
    jingzhijing
        9
    jingzhijing  
       2017-10-13 14:18:09 +08:00   1
    把你们头儿的环境换掉
    yejinmo
        10
    yejinmo  
    OP
       2017-10-13 14:21:43 +08:00   1
    @jingzhijing

    那可能下周我就得投简历了。。
    wingoo
        11
    wingoo  
       2017-10-13 14:21:56 +08:00   2
    标准答案是 按照公司的要求的环境进行编码
    有问题吗?
    SuperMild
        12
    SuperMild  
       2017-10-13 14:23:18 +08:00
    老大怎么不早说清楚规范!
    artikle
        13
    artikle  
       2017-10-13 14:24:34 +08:00   2
    以公司的主流环境为主
    之前自己用 C#6.0 在 VS2015 开发,导致运维和其他同事在 VS2013 不能编译通过,所以只能自己改回能兼容的代码。
    然后就找技术总监和经理商量,争取到他们同意支持后从部门推及到公司,统一升级到 VS2015,最后才用到 C#6.0
    zhujinliang
        14
    zhujinliang  
       2017-10-13 14:27:15 +08:00 via iPhone
    话说你的头去之前不提前自己跑一遍测试一下么…
    sun1991
        15
    sun1991  
       2017-10-13 14:29:49 +08:00
    开发运行环境不统一, 代码跑不起来你就谢天谢地吧. 跑着没问题, 几年后再出问题才可怕.
    orzfly
        16
    orzfly  
       2017-10-13 14:44:39 +08:00   1
    先编译,喂给 ILSpy,再从 ILSpy 的反编译里复制出来(
    nannanziyu
        17
    nannanziyu  
       2017-10-13 14:49:42 +08:00   1
    亲,用 nuget 装上 Microsoft.Net.Compilers 就能编译了,不用 vs2017
    https://www.nuget.org/packages/Microsoft.Net.Compilers/
    Sin
        18
    Sin  
       2017-10-13 14:53:36 +08:00
    首先看下目标运行环境,如果运行时不支持的话还是改回去,这个不那么好升
    如果只是开发环境问题,成本最低的方案当然是说服头安装 VS2017 啊,友善地说明一下两者的时间成本以及升级带来的好处
    如果这都说服不了那只有六字真言了
    Sin
        19
    Sin  
       2017-10-13 14:53:47 +08:00
    @nannanziyu 至少要 2015 好像
    RobertYang
        20
    RobertYang  
       2017-10-13 14:54:56 +08:00 via Android
    @orzfly 骚操作骚操作
    hjc4869     21
    hjc4869  
       2017-10-13 14:58:06 +08:00 via iPhone
    你打个 Nuget 包编译好给你们老板不就行了,为什么要拿旧版本 VS 编译呢,目标环境能跑起来不就好。
    nannanziyu
        22
    nannanziyu  
       2017-10-13 14:58:20 +08:00
    @Sin
    vs2013 可编译,只是智能提示会显示错误
    Sin
        23
    Sin  
       2017-10-13 15:05:39 +08:00
    对了楼主要是真的说服不了可以往这来份简历 [email protected]
    yinjiayi
        24
    yinjiayi  
       2017-10-13 15:06:04 +08:00
    看你是刚毕业吧,小伙,以后的路还很长
    dcty
        25
    dcty  
       2017-10-13 15:33:53 +08:00
    按照公司的来没毛病
    Mithril
        26
    Mithril  
       2017-10-13 15:35:14 +08:00   1
    你们连生产环境编译器版本都不统一吗?
    如果刚开始入职没有跟你说明环境版本,你自己用最后出问题自然是你领导的问题。
    如果刚开始说了让你用低版本编译器环境,你非用高版本的,甚至使用更新的语法,那肯定是你的问题了。
    一般来说公司应该都会有确定的工具链,包括各个工具的版本等。同时也应该有固定的更新周期。还是确定好这种规则再商量用哪个版本的事吧。
    xiaojunjor
        27
    xiaojunjor  
       2017-10-13 15:37:45 +08:00
    友情提示,有 CSharp 节点
    /table>
    jiangzhuo
        28
    jiangzhuo  
       2017-10-13 15:38:26 +08:00
    把你那段 C#7 写的代码转换成 IL 然后提交 IL
    yuyu2140
        29
    yuyu2140  
       2017-10-13 15:42:50 +08:00
    由于一些老项目,电脑额外装了一个老版本的 VS 2008,也是够够的
    coderluan
        30
    coderluan  
       2017-10-13 15:43:26 +08:00
    坐等 V2 标准答案?

    分手下一题? 好像不是这个...
    去医院(√)问网友(×)? 好像也不是这个...
    当然是选择原谅他?好像连 V 站都不是了...
    要么狠要么忍要么滚?大概是这个了吧...

    说正经的:
    之前有规定,谁不按规定谁的锅。
    之前没规定,两边沟通解决问题。
    zlhsvc
        31
    zlhsvc  
       2017-10-13 15:52:06 +08:00
    开发环境都不统一下的吗
    hahastudio
        32
    hahastudio  
       2017-10-13 15:59:32 +08:00
    开发环境不统一一下?
    话说 2013 和 2017 是同一份授权么?买了 2017 为什么不计划更新呢= =
    kokutou
        33
    kokutou  
       2017-10-13 16:10:55 +08:00 via Android
    @orzfly 很骚很骚
    hzw758
        34
    hzw758  
       2017-10-13 16:25:43 +08:00
    歪个楼,想问一下你的 2017 是正版吗
    anyele
        35
    anyele  
       2017-10-13 16:43:25 +08:00
    @hzw758 #34 有 community
    wuddds
        36
    wuddds  
       2017-10-13 16:58:44 +08:00
    @yejinmo 这是正解
    yejinmo
        37
    yejinmo  
    OP
       2017-10-13 17:00:12 +08:00
    @wingoo
    @artikle

    不是。。这个项目是我独自开发,头儿去那边部署,结果出现了些问题(打字打到这里就被叫去现场了真尴尬。。),现场调试的时候编译不通过,之前并没有明确告诉我要用什么环境啊。。
    nannanziyu
        38
    nannanziyu  
       2017-10-13 17:03:25 +08:00
    @yejinmo
    看 17 楼
    nannanziyu
        39
    nannanziyu  
       2017-10-13 17:07:52 +08:00   1
    @orzfly
    @RobertYang
    @kokutou

    你们是认真的吗?
    稍复杂点的代码 ILSpy 反编译出来根本不能读
    花五分钟随便举个例子吧
    随机 50 个数然后拼 Github issue api url,并调用获取 title

    https://gist.github.com/anonymous/4b2b29ef01cec29da2023eb0843a3544

    看看源文件和输出文件的区别
    nannanziyu
        40
    nannanziyu  
       2017-10-13 17:16:08 +08:00
    @nannanziyu
    楼上写错一行
    .Select(r => random.Next(1, 1))
    ->
    .Select(r => random.Next(1, 10000))
    wingoo
        41
    wingoo  
       2017-10-13 17:34:53 +08:00
    @yejinmo 如果未告知, 就要去问
    新到公司, 连环境都不清楚, 你上司有责任, 你的心里没点数吗?
    xiz
        42
    xiz  
       2017-10-13 18:53:41 +08:00 via iPhone
    @orzfly )+12306
    RobertYang
        43
    RobertYang  
       2017-10-13 19:06:16 +08:00 via Android
    @nannanziyu 居然当真了
    timothyye
        44
    timothyye  
       2017-10-13 19:51:17 +08:00 via Android
    这是历史的倒退啊
    nl101531
        45
    nl101531  
       2017-10-13 20:14:44 +08:00 via Android
    很诧异,项目环境应该统一的,怎么会出现这种问题?
    alcarl
        46
    alcarl  
       2017-10-13 21:00:36 +08:00 via Android
    是一个误会吧,改一下不就好了,这不叫事儿,不叫事儿,真不叫事儿。。。。。。。你是刚刚工作吧,时间长了你就懂了。it 公司其实就和盖楼搬砖类似,工程重要的是稳定,纪律,高效
    itabas016
        47
    itabas016  
       2017-10-13 21:18:42 +08:00 via Android
    你们公司是正版 vs 吗
    levon
        48
    levon  
       2017-10-13 21:28:54 +08:00 via Android
    @itabas016 人家说了社区版本了的,免费的
    why1
        49
    why1  
       2017-10-14 07:29:21 +08:00 via Android
    你的头儿真能干
    nooper
        50
    nooper  
       2017-10-14 13:31:29 +08:00 via iPad
    别用 VS 别用 VS。2017 全部安装要 50g
    relaxchen
        51
    relaxchen  
       2017-10-18 10:34:50 +08:00
    @levon 社区版是没有商业授权的,不能用于商业行为
    levon
        52
    levon  
       2017-10-18 11:09:37 +08:00
    @relaxchen 企业组织(拥有超过 250 台电脑或年收入高于 1 百万美元的组织)不可使用社区版开发商业软件。其他都可以。并且微软也不会真的来查你,除非你是真正意义上的大公司。
    relaxchen
        53
    relaxchen  
       2017-10-18 11:18:26 +08:00
    @levon
    对于组织
    在以下情况下,组织中的用户(数量不限)可以使用 Visual Studio Community:教室学习环境、学术研究或参与开放源代码项目。
    针对所有其他使用情况:
    在非企业环境的组织中,至多五名用户可使用 Visual Studio Community。 在企业组织(即拥有超过 250 台电脑或年收入高于 1 百万美元的组织)中,只允许在上述参与开放源代码项目、学术研究和教室学习环境使用情景下使用 Visual Studio Community。

    请注意:可以企业和组织使用社区版的条件是,“教室学习环境、学术研究或参与开放源代码项目”。而 LZ 用的明显是商业项目。
    查不查是一回事情,软件授权中含不含是另外一回事情.
    levon
        54
    levon  
       2017-10-18 11:34:28 +08:00
    @relaxchen 创业团队(没有 250 台电脑,或者年收入低于 100 万美元)就可以随便商用啊
    stanjia
        55
    stanjia  
       2017-10-30 11:13:09 +08:00
    还记得 10 年前,用 C#1.0 写好的串口程序 被要求活生生改成 VisualBasic 6.0
    jiumingzhu
        56
    jiumingzhu  
       2018-07-17 08:13:33 +08:00
    Emmm,我们还在用 4.0。除非哪天我们想把运行环境从 win7 升级到 win10,哦对了,我们还有跑 xp 的电脑。。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6103 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 02:22 PVG 10:22 LAX 19:22 JFK 22:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86