微软说的 cross-platform...开发环境一言难尽

2020-11-24 19:09:32 +08:00
 fiveelementgid

微软说的 cross-platform,先不说部署的时候一堆奇怪的 bug,这 Linux 下的开发环境的手动配置真是 把人恶心炸了 用的是 Visual Studio Code

也有人问为啥不上 JetBrains 的 Rider

因为目前为止还不支持.net 5,本来就是冲着这个去的,EAP 据说 bug 也很多

Visual Studio Code 主要是做 C#和 ASP.NET Core,问题来了,他这个配置 develop certificate(self-signed)自签名证书。 微软的他推荐的一键命令: dotnet dev-certs https --trust ,但是这个在 VSC For Linux 下根本没用, 微软只有一句话:

See the documentation for your Linux distribution on how to trust the HTTPS development certificate.

微软生成的自签名证书,存在~/dotnet/corefx/cryptography/x509stores/([0-9A-F]+).pfx,查了一下,用 的是微软自己的 pkcs12 算法生成的......搞了一天也没查到去哪里导入..... 欸...开始怀疑自己是不是上错车了,每日骂微软 1/1

5284 次点击
所在节点    程序员
52 条回复
fiveelementgid
2020-11-24 20:12:35 +08:00
@12101111 这边是 fedora 33
no1xsyzy
2020-11-24 20:53:05 +08:00
先问下你浏览器是? Firefox 的话独立证书管理器不管系统证书的

你先 curl 看看配置成功了没
fiveelementgid
2020-11-24 21:36:33 +08:00
@nannanziyu 。。。。。我表述不对吗......就是证书是有的,不过一直无法加入信任列表

结果是
output:curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost


@no1xsyzy 我用的 chrome
qiufengshe
2020-11-24 21:45:51 +08:00
楼主说的太偏激了,即使跨平台开发,一般还是在 Windows 开发好,部署到 Linux 上,C#有好用的 VS 不用,偏去用 VS Code,体验肯定不一样呀!
LokiSharp
2020-11-24 23:05:03 +08:00
RHEL 上面是这样的 Fedora 应该也差不多吧

cp /root/certs/<certname>.cer /etc/pki/ca-trust/source/anchors/
update-ca-trust extract
cd /etc/pki/tls/certs/
openssl x509 -in ca-bundle.crt -text -noout

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-shared-system-certificates
https://access.redhat.com/solutions/3220561
fiveelementgid
2020-11-24 23:09:02 +08:00
@qiufengshe emmmmmm,个人观点总不能赖在 VS 和 windows 上吧....CLI 总要学学

@LokiSharp 谢谢!,我去试试
Mithril
2020-11-24 23:15:22 +08:00
@fiveelementgid 那个体验确实是差的非常多。。基本上在 Windows 也没多少人用 VS Code 写 C#的。。
fiveelementgid
2020-11-24 23:31:37 +08:00
@LokiSharp 依旧没用......裂开
ladypxy
2020-11-24 23:39:29 +08:00
微软的文档已经是业界最好的了,没有之一……
你这都搞不定,真的只能像上面说的,可能不适合这行……
Jirajine
2020-11-24 23:42:38 +08:00
换自己的证书啊,开发用 mkcert,部署私有 ca 用 step 。
beginor
2020-11-24 23:43:11 +08:00
不用 SSL 也可以玩啊,为啥跟 HTTPS 较劲呢?好像是加个这样的参数就行了

dotnet new mvc --no-https
fiveelementgid
2020-11-25 00:41:49 +08:00
@ladypxy 微软的文档我正要喷呢,等我下一个帖子,语法错误和小问题一大把....

@Jirajine emmmmm,VSC 咋导入证书又是一个问题了

@beginor 看到了,没有 http 也行,但是部署会出很多其他的问题,顺便说一句 new 创建 MVC Template 模板,MVC 已经被淘汰了
laminux29
2020-11-25 00:45:39 +08:00
微软每次 VS 更新最新版的预览版,创建一个空项目,只是 F5 也容易遇到一堆问题。

这个问题的本质是目前软工规模太太太太太太大了,一个 IDE 的复杂度已经不亚于建造一个小区,各种小 bug 那是太正常不过了,何况是微软缺乏 linux 基因,在 linux 上问题会更多。
fiveelementgid
2020-11-25 01:00:01 +08:00
@laminux29 兄弟,这是 VSC,还有.net5 在双十一晚上已经发布了稳定版了,在 windows 上没问题
ericgui
2020-11-25 01:10:25 +08:00
@laminux29 我大微软还没找到怎么从 linux 上挣钱的办法,找到了,就立刻能超越其他任何公司,做出最牛逼、向后兼容性最牛逼的产品。
LokiSharp
2020-11-25 01:12:07 +08:00
@fiveelementgid #28 Emmmm 找到记得方法 @ 我一下,我也打算用 Linux 开发 .net Core 来着,等 RHEL 8 推 .net5 正式版= =貌似目前还是用的预览版
yexiaoxing
2020-11-25 01:37:26 +08:00
嘛目前这是个 issue,https://github.com/dotnet/aspnetcore/issues/7246 可以跟踪这个的状态,或者把 openssl 升级到 1.1.1h 。自签也是一个解决方案。
CismonX
2020-11-25 01:56:28 +08:00
正好相反,我倒是觉得在 Linux 上面用 VSCode 需要折腾的东西少
fiveelementgid
2020-11-25 02:10:07 +08:00
@ericgui 吐了,一直在踩雷

@LokiSharp 解决方案正在尝试楼下老哥给的 issue.CentOS 8 对标 RHEL 8 吧,我反正用不来 RHEL,内置功能不全,基本瘸腿,我也有 RedHat 的 developer subscribe,上次用了一下 subscribe,redhat 每天疯狂往我邮箱轰炸邮件,全是[Enhancement Advisory] RHEA-2020:5088 Red Hat CodeReady Workspaces 2.5.0 release 这种推销和安全风险警告,安全风险警告源于我用了一些没签名的应用....我吐了


@yexiaoxing 感谢!!!!我再测试一下
fiveelementgid
2020-11-25 02:18:32 +08:00
@CismonX 人已经被折腾坏了


@yexiaoxing 根据 openssl 的工作人员说
> @drwetter, @chrisvdb, et al.
Finally, the fix for this issue is merged in both the OpenSSL master branch (to be released as version 3.0 in Q4 of 2020)
and OpenSSL_1_1_1-stable (to be released with the next letter release, 1.1.1h).

我这里也是`OpenSSL 1.1.1h FIPS 22 Sep 2020`,自签名根证书再签名应该就行了,我再去测试一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728829

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX