在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 文件夹中,然后问题竟然奇迹般地解决了。