V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yejinmo
V2EX  ›  这个世界不完美

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

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

    我的环境是 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 节点
    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   ·   实用小工具   ·   1386 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:31 · PVG 01:31 · LAX 09:31 · JFK 12:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.