天天看點

[DNX]解決dnu restore時找不到Newtonsoft.Json的問題

在Mac上用最新版的dnx 1.0.0-beta5-11855進行dnu restore,出現下面的錯誤:Could not load file or assembly 'Newtonsoft.Json' or one of its dependencies。在 ~/.dnx/runtimes/dnx-mono.1.0.0-beta5-11855/bin 檔案夾中找到了dnu檔案,原來是一個shell檔案。

在Mac上用最新版的dnx 1.0.0-beta5-11855進行dnu restore,出現下面的錯誤:

System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json' or one of its dependencies
File name: 'Newtonsoft.Json'      

在 ~/.dnx/runtimes/dnx-mono.1.0.0-beta5-11855/bin 檔案夾中找到了dnu檔案,原來是一個shell檔案。

打開一看,dnu原來就是用dnx指令運作Microsoft.Framework.PackageManager.dll。

exec "$DIR/dnx" "$DIR/lib/Microsoft.Framework.PackageManager/Microsoft.Framework.PackageManager.dll" "$@"      

Microsoft.Framework.PackageManager.dll 在 ~/.dnx/runtimes/dnx-mono.1.0.0-beta5-11855/bin/lib/Microsoft.Framework.PackageManager/ 這個檔案夾中。打開一看,發現其中有 Newtonsoft.Json.dll 檔案,明明有,為什麼還說找不到呢?是不是沒有在這個路徑下查找?

于是,試着将 Newtonsoft.Json.dll 複制到 ~/.dnx/runtimes/dnx-mono.1.0.0-beta5-11855/bin 檔案夾中,然後問題竟然奇迹般地解決了。

DNX