昨天终于发布了.NetCore1.0正式版。昨晚回去就顺手把手里的一个.NetCore项目升级了一下。还是遇到了一些问题,这里记录下吧。
1、Restore问题
这个问题一直都有,一直放那没去解决。主要是因为我们项目里用到了内部自己的组件,在还原的时候需要引用公司的源。
在Visual Studio For Mac里配置源之后,无法还原成功,尝试了好几次,还是不行,就没去折腾了,而且好像Visual Studio For Mac里配置的源是独立的,并不会影响到系统里的配置。
所以还是用了Net Command Line去resotre一下。首先配置源(/Users/<用户名>/.nuget/NuGet/NuGet.Config),配置Nuget源的时候,要指定V2版本还是V3版本。公司的源是V2的,一开始我直接配置成了3,结果一直失败,这个问题也坑了我一会。后来也才注意到,原来V2的源是XML格式的,V3的是Json。贴一下错误提示:(is not a valid JSON object)
修改成2版本以后,dotnet restore成功。
2、migrate问题。
在Visual Studio For Mac中,依然是Migrate失败。这次直接懒得尝试了,直接用命令行Migrate。
切到项目的目录下,使用dotnet migrate还原,竟然告诉我没有这个命令???懵逼了。然后用dotnet --info看下,发现竟然是Priview2版本。然后我切到其他目录下,看info信息,是正式版1.0.1,信息如下:
郁闷了一圈之后,决定卸载所有的dotnet core SDK。 卸载脚本:https://github.com/dotnet/cli/blob/rel/1.0.0/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh 然后重装最新版。重新运行 dotnet Migrate 转换成功。
ps:当时也在群里问了下,@杭州-Zeeko 和我说,应该是在global.json 里指定了SDK版本,换一下就好。因为当时我已经卸载重装了,就没有尝试。应该是这个原因吧,待考证。
可以看出,总体来说Visual Studio For Mac暂时坑还是很多,用Command Line更方便点。