Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加、移除和更新引用的工作变得更加快捷方便
安装Ubuntu
我们以目前比较流行的Ubuntu为例,我的配置环境是:
主机: Win8.1 和 VS2015 RC
虚拟机: VirtualBox-4.3.28-100309-Win
Linux: ubuntu-15.04-desktop-amd64
这些软件的安装过程都比较人性化了,这里不加累述.
安装完成并进入系统以后,稍微清理下左侧的快捷方式,拖出常用的终端命令,我们到如下界面,准备进入下一步的安装.
安装MONO通过下列命令行,安装MONO – 下载时间可能很长.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
echo "deb wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel
建议依次运行如果有问题重新运行有问题的命令.看到如下结果表示Mono安装完成:
如果安装没有顺利完成,请参考MONO Project网站寻找最新的安装方法.
安装DNVM首先需要安装curl程序
sudo apt-get install curl
然后利用curl安装DNVM
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
安装完毕以后,利用dnvm升级命令获取最新运行环境
dnvm upgrade
如果遇到更新失败,可以加入-f参数强行覆盖更新.
最后运行下面的命令,确认当前安装的运行环境
dnvm list
由于目前VS2015 RC的dnx版本是1.0.0-beta4,所以这里请保证当前活跃版本就是1.0.0-beta4. (我这里装的比较杂,其实没有11855那2个也是可以的)
此外可以发现dnx和dnu 2个命令(可以在控制台运行这2个命令,看到帮助信息)都已经部署完毕,到此dnvm安装结束.
配置ASP.NET代码在Window主机中, 利用VS 2015建立一个vNext版本的WebApi程序.
这里把这个项目命名为 WebApi2015. 建立完毕后,把程序目录打包传送到Ubuntu虚拟机.
在虚拟机任意目录解压.
另外我们再非Windows环境可以采用Visual Studio Code进行代码的编辑,这个工具非常容易安装,具体安装方法可以参考官网:
https://code.visualstudio.com/Docs/setup
虽然这个工具还不如VS方便,但比起文本编辑器还是高级了许多:
下面我们对项目文件做些调整:
加入Kestrel组件的引用,这个是Linux环境下必选的Web Server.
加入Kestrel的命令行,把启动URL设为:5000, 这个步骤是必须的,否则后续的dnx命令将无法执行.
把Project_Readme.html移入wwwroot作为一个可以展示的静态页面.
当然这些调整也可以再Windows里面先调整好,再拷贝过来.
部署和运行打开一个终端,把当前路径设置到我们项目中的src/WebApi2015中,也就是project.json所在目录.
首先利用dnu命令进行所有相关组件的恢复操作:
dnu restore
注意这里经常因为网络问题而中断,反复执行这个命令皆可.(不要轻易强行中断这个命令,会造成坏包),直到出现大量的installing信息并完成project.lock.json文件,恢复过程才算顺利结束,如下图:
然后运行下面命令执行此ASP.NET 5程序.
dnx . kestrel
不过这个时候可能依然会报错,是因为一般新安装的系统还没有libuv组件.最终,我们还需要利用下面的命令来安装libuv组件.
sudo apt-get install automake libtool
curl -sSL https://github.com/libuv/libuv/archive/v1.4.2.tar.gz | sudo tar zxfv - -C /usr/local/src
cd /usr/local/src/libuv-1.4.2
sudo sh autogen.sh
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/local/src/libuv-1.4.2 && cd ~/
sudo ldconfig
安装完毕以后,再运行 dnx . kestrel , 运行通过