昨天終於發布了.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更方便點。