1
首先,我意識到,在Mono上不再支持或測試AspNetCore。Kestrel no Mono錯誤-14系統調用參數中的EFAULT錯誤地址
不過,我有一個現有的項目(AspNet 1.0.0-rc1-final),它的目標是net461,我需要將它遷移到AspNetCore 1.1.0。經過幾個小時的奮鬥之後,我做到了,只爲驚訝於它不再使用Mono。
我試着切換到netcoreapp1.1,但在DLL地獄結束np - 許多不受支持的庫去它的方式。
我使用泊塢窗使用Mono和附加LibUV安裝
FROM debian:wheezy
MAINTAINER Jo Shields <[email protected]>
#based on dockerfile by Michael Friis <[email protected]>
ENV MONO_VERSION 4.6.2.7
RUN apt-get update \
&& apt-get install -y curl \
&& rm -rf /var/lib/apt/lists/*
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
RUN echo "deb http://download.mono-project.com/repo/debian wheezy/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-xamarin.list \
&& apt-get update \
&& apt-get install -y binutils mono-devel ca-certificates-mono fsharp mono-vbnc nuget referenceassemblies-pcl \
&& rm -rf /var/lib/apt/lists/* /tmp/*
# Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old)
# Combining this with the uninstall and purge will save us the space of the build tools in the image
RUN LIBUV_VERSION=1.9.1 \
&& apt-get -qq update \
&& apt-get -qqy install autoconf automake build-essential libtool \
&& curl -sSL https://github.com/libuv/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \
&& cd /usr/local/src/libuv-$LIBUV_VERSION \
&& sh autogen.sh && ./configure && make && make install \
&& rm -rf /usr/local/src/libuv-$LIBUV_VERSION \
&& ldconfig \
&& apt-get -y purge autoconf automake build-essential libtool \
&& apt-get -y autoremove \
&& apt-get -y clean \
&& rm -rf /var/lib/apt/lists/*
每個HTTP請求到我的應用程序會導致錯誤的紅隼:
info: Microsoft.AspNetCore.Server.Kestrel[14]
Connection id "0HL2PMPE1RGS7" communication error.
Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -14 EFAULT bad address in system call argument
info: Microsoft.AspNetCore.Server.Kestrel[20]
Connection id "0HL2PMPE1RGS7" request processing ended abnormally.
System.IO.IOException: Error -14 EFAULT bad address in system call argument ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -14
EFAULT bad address in system call argument
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketInput.CheckConnectionError() [0x00020] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketInput.GetResult() [0x00013] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1+<RequestProcessingAsync>d__2[TContext].MoveNext() [0x00194] in <43555eec0dc34d2abb4f01227fa5a2e9
>:0
info: Microsoft.AspNetCore.Server.Kestrel[14]
Connection id "0HL2PMPE1RGS8" communication error.
Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -14 EFAULT bad address in system call argument
info: Microsoft.AspNetCore.Server.Kestrel[20]
Connection id "0HL2PMPE1RGS8" request processing ended abnormally.
System.IO.IOException: Error -14 EFAULT bad address in system call argument ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -14
EFAULT bad address in system call argument
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketInput.CheckConnectionError() [0x00020] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketInput.GetResult() [0x00013] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1+<RequestProcessingAsync>d__2[TContext].MoveNext() [0x00194] in <43555eec0dc34d2abb4f01227fa5a2e9
>:0
info: Microsoft.AspNetCore.Server.Kestrel[14]
Connection id "0HL2PMPE1RGS9" communication error.
Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -14 EFAULT bad address in system call argument
info: Microsoft.AspNetCore.Server.Kestrel[20]
Connection id "0HL2PMPE1RGS9" request processing ended abnormally.
System.IO.IOException: Error -14 EFAULT bad address in system call argument ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -14
EFAULT bad address in system call argument
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketInput.CheckConnectionError() [0x00020] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketInput.GetResult() [0x00013] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1+<RequestProcessingAsync>d__2[TContext].MoveNext() [0x00194] in <43555eec0dc34d2abb4f01227fa5a2e9
>:0
沒有人設法在做AspNetCore 1.1版運行單?任何幫助讚賞。
https://github.com/aspnet/Mvc/issues/5088 – stuartd
@stuartd您的意思是'techcap評論於2016年8月5日'(創建符號鏈接)的評論?如果是這樣,它什麼都沒變。 :( – gisek
我有同樣的問題,你有解決它嗎? – Alex