Mono 无法使用KestrelHttpServer启动网站(错误:对象引用未设置为对象的实例)

Mono 无法使用KestrelHttpServer启动网站(错误:对象引用未设置为对象的实例),mono,asp.net-core,centos7,Mono,Asp.net Core,Centos7,我已经在Linux虚拟机(Centos 7)中从源代码安装了mono 3.10.0 我已经使用ASP.NEThome上的Github curl -sSL https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh | sh && source ~/.kre/kvm/kvm.sh 而且kpm restore正在运行文件并还原所有包 但是我无法在HelloMvc样本中运行k kestrel 我给出了错误

我已经在Linux虚拟机(Centos 7)中从源代码安装了mono 3.10.0

我已经使用
ASP.NET
home上的
Github

curl -sSL https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh | sh && source ~/.kre/kvm/kvm.sh  
而且
kpm restore
正在运行文件并还原所有包

但是我无法在
HelloMvc
样本中运行
k kestrel
我给出了错误

System.NullReferenceException: Object reference not set to an instance of an object
  at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.loop_size () [0x00000] in <filename unknown>:0 
  at Microsoft.AspNet.Server.Kestrel.Networking.UvLoopHandle.Init (Microsoft.AspNet.Server.Kestrel.Networking.Libuv uv) [0x00000] in <filename unknown>:0 
  at Microsoft.AspNet.Server.Kestrel.KestrelThread.ThreadStart (System.Object parameter) [0x00000] in <filename unknown>:0 
再次安装
Libuv
后出现异常
System.ArgumentException:字典中已存在具有相同键的元素。
在System.Collections.Generic.Dictionary`2[TKey,TValue]。在以下位置添加(System.Collections.Generic.TKey,System.Collections.Generic.TValue)[0x00000]:0
在System.Linq.Enumerable.ToDictionary[DictionaryEntry,String,String](IEnumerable`1源,System.Func`2键选择器,System.Func`2元素选择器,IEqualityComparer`1比较器)[0x00000]中:0
在Microsoft.Framework.ConfigurationModel.EnvironmentVariablesConfigurationSource.Load(IDictionary envVariables)[0x00000]中:0
在Microsoft.Framework.ConfigurationModel.EnvironmentVariablesConfigurationSource.Load()[0x00000]中:0
在0中的Microsoft.Framework.ConfigurationModel.Configuration.Add(IConfigurationSource configurationSource)[0x00000]处
位于:0中的Microsoft.Framework.ConfigurationModel.ConfigurationExtensions.AddEnvironmentVariables(IConfigurationSourceContainer配置)[0x00000]
位于:0中的Microsoft.AspNet.Hosting.Program.Main(System.String[]args)[0x00000]
at(包装器管理为本机)System.Reflection.monmethod:InternalInvoke(System.Reflection.monmethod,object,object[],System.Exception&)
在System.Reflection.MonMethod.Invoke(System.Object obj、BindingFlags invokeAttr、System.Reflection.Binder Binder、System.Object[]参数、System.Globalization.CultureInfo区域性)[0x00000]中:0
看看关于红隼的部分

wget http://dist.libuv.org/dist/v1.0.0-rc2/libuv-v1.0.0-rc2.tar.gz
tar -xvf libuv-v1.0.0-rc2.tar.gz
cd libuv-v1.0.0-rc2/
./gyp_uv.py -f make -Duv_library=shared_library
make -C out
sudo cp out/Debug/lib.target/libuv.so /usr/lib/libuv.so.1.0.0-rc2
sudo ln -s libuv.so.1.0.0-rc2 /usr/lib/libuv.so.1
这对我很管用

看看

我就这样修好了

使用的步骤 通过向lib添加符号链接来完成Final

ln /usr/local/lib/libuv.so -sf ~/.kpm/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-alpha4/native/darwin/universal/libuv.dylib 

您得到了一个异常,因为您有两个名称相同但大小写不同的变量。启动前转储所有环境变量:

printenv > env.dump
查找重复的变量,并在开始之前取消设置其中一个(在开始之前保存原始值,之后恢复)

这是

只需保存并取消设置变量:

TMP_SAVE_runlevel_VAR=$runlevel
unset runlevel
以及恢复它的方法:

export runlevel=$TMP_SAVE_runlevel_VAR

这绝对是一个libuv错误。你能列出你在本地编译和符号链接libuv的步骤吗?我尝试了你的libuv方法,但没有改变异常消息。。。查看更新信息的问题我尝试了Libuv的方法,但没有更改异常消息。。。请参阅更新信息的问题重新安装libuv后出现的异常是因为环境变量中有doublon,请列出环境变量并删除doublon。它不区分大小写。请详细说明一下
doublon
。。。它是否意味着CAPS和小的环境变量……是的,它不是区分大小写的,因此,如果您有一个ValpHype名称为Apple HypPyPosivor和HTTPJ代理,则将其视为相同的VAR。
printenv > env.dump
TMP_SAVE_runlevel_VAR=$runlevel
unset runlevel
export runlevel=$TMP_SAVE_runlevel_VAR