.net core 1.1 项目如何编译到 exe?

2017-02-07 21:11:15 +08:00
 Famio
以前 1.0 的时候都是在项目路径下修改 projects.json 里面的 runtime 参数。
现在 1.1 MS 弃用 projects.json 了,用回 projects.csproj 了!
懵逼,官方文档还是 1.0 时代,现在不知道怎么改才能把 dotnet 项目编译到 exe 了,有没有大神告知下。
6406 次点击
所在节点    程序员
19 条回复
loqixh
2017-02-07 22:06:51 +08:00
<TargetFramework>netcoreapp1.1</TargetFramework>
下加入一行
<RuntimeIdentifiers>win10-x64;ubuntu.14.04-x64</RuntimeIdentifiers>
然后用 dotnet publish -r ubuntu.14.04-x64
但是会出错。。用 vs 带的发布功能也也会出错,应该是这个功能现在还有问题
itfanr
2017-02-07 22:36:10 +08:00
微软总是在变…
Famio
2017-02-07 22:40:56 +08:00
@loqixh 是啊,我也看到了 RID 的字段,但是同样的,用 VS 和 VS code 都无法正确发布。
奇了怪,按理说宇宙 IDE 不会犯这种错才对。现在跑程序只能 dotnet run 命令有点中二。
emric
2017-02-07 22:46:55 +08:00
我也在关注这个问题。
imcxy
2017-02-07 22:57:20 +08:00
@itfanr 说反了,其实是世界变太快,半年后某种东西完全没人跟了,微软只是保持跟上~
beginor
2017-02-07 23:01:32 +08:00
正准备入坑呢
XiaoFaye
2017-02-08 02:49:49 +08:00
.net core 没有 exe ,只有 dll , dll 之间的分别只是带不带入口函数而已。
Soar360
2017-02-08 02:50:54 +08:00
need run time ..
Famio
2017-02-08 07:41:17 +08:00
@XiaoFaye 不是,很肯定是有的。以 standalone 方式打包就行,以前都 OK 的,自从玩了 vs2017 ,这配置文件改了,也没地方说明其中的字段含义。
XiaoFaye
2017-02-08 08:44:31 +08:00
@Famio RC2 的时候是有的,后来取消了。另外建议使用 LTS 的版本。
imbushuo
2017-02-08 09:14:30 +08:00
说来如果只需要针对 Windows 的话写 net462 的 target 就行了(JTL
loqixh
2017-02-08 09:27:17 +08:00
@Famio 可以先用 preview2 的 1.1sdk ,用的是 projects.json 可以正常发布
Famio
2017-02-08 09:36:20 +08:00
@imbushuo 是的,没错,其实只针对 windows 的话,我直接用 C#写 console app 就好了。可是我需要跨平台才会用.net core.

@loqixh 今天 vs2017 更新了,其中提到了 MSBuild 更新,我先跑完试试看吧,实在不想换环境,太麻烦了。
weiceshi
2017-02-08 10:06:00 +08:00
@itfanr 一行配置文件的事情也算改吗? vs17 打开 vs2003 写的.net 代码都能直接编译,这种级别的向下兼容
水果呢? swift 2 2.3 3 4? os 升个小版本一大堆程序挂掉?
loqixh
2017-02-08 10:31:25 +08:00
@Famio 刚试了下 是用法不对

dotnet restore -r ubuntu.14.04-x64

dotnet publish -r ubuntu.14.04-x64
就正常发布了
Famio
2017-02-08 11:06:36 +08:00
@loqixh 我在 linux 下没有 dotnet restore -r 指令哇, help 了一下也没有相关的 runtime 参数。
loqixh
2017-02-08 12:55:44 +08:00
loqixh
2017-02-08 12:56:37 +08:00
<RuntimeIdentifiers>win10-x64;ubuntu.14.04-x64</RuntimeIdentifiers> 也不是必须的
itfanr
2017-02-08 17:49:28 +08:00
@weiceshi 苹果自从有了 swift ,被骂的不行

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

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

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

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

© 2021 V2EX