当我将ASP.NET CORE 2.0 WebApi部署到默认网站下的IIS时,我收到一个未找到的错误

时间:2018-06-05 16:48:44

标签: asp.net iis asp.net-core-2.0 iis-10

enter image description here enter image description here Scrrenshot of my IIS

它适用于标签" 2"在默认网站之外但它确实在默认网站内运行

4 个答案:

答案 0 :(得分:1)

尝试以下方法......

再次安装主机软件包,然后再次从Visual Studio发布。

如果不能解决问题,请转到发布输出文件夹并运行 s.prepare_command = <<-CMD VERSION="1.0.2l" SDKVERSION=`xcrun --sdk iphoneos --show-sdk-version 2> /dev/null` MIN_SDKVERSION="7.0" BASEPATH="${PWD}" CURRENTPATH="${TMPDIR}/openssl" ARCHS="i386 x86_64 armv7 arm64" DEVELOPER=`xcode-select -print-path` mkdir -p "${CURRENTPATH}" mkdir -p "${CURRENTPATH}/bin" cp "file.tgz" "${CURRENTPATH}/file.tgz" cd "${CURRENTPATH}" tar -xzf file.tgz cd "openssl-${VERSION}" for ARCH in ${ARCHS} do CONFIGURE_FOR="iphoneos-cross" if [ "${ARCH}" == "i386" ] || [ "${ARCH}" == "x86_64" ] ; then PLATFORM="iPhoneSimulator" if [ "${ARCH}" == "x86_64" ] ; then CONFIGURE_FOR="darwin64-x86_64-cc" fi else sed -ie "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;!" "crypto/ui/ui_openssl.c" PLATFORM="iPhoneOS" fi export CROSS_TOP="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer" export CROSS_SDK="${PLATFORM}${SDKVERSION}.sdk" echo "Building openssl-${VERSION} for ${PLATFORM} ${SDKVERSION} ${ARCH}" echo "Please stand by..." export CC="${DEVELOPER}/usr/bin/gcc -arch ${ARCH} -miphoneos-version-min=${MIN_SDKVERSION} -fembed-bitcode" mkdir -p "${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk" LOG="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/build-openssl-${VERSION}.log" LIPO_LIBSSL="${LIPO_LIBSSL} ${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/lib/libssl.a" LIPO_LIBCRYPTO="${LIPO_LIBCRYPTO} ${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/lib/libcrypto.a" ./Configure ${CONFIGURE_FOR} --openssldir="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk" > "${LOG}" 2>&1 sed -ie "s!^CFLAG=!CFLAG=-isysroot ${CROSS_TOP}/SDKs/${CROSS_SDK} !" "Makefile" make >> "${LOG}" 2>&1 make all install_sw >> "${LOG}" 2>&1 make clean >> "${LOG}" 2>&1 done echo "Build library..." rm -rf "${BASEPATH}/lib/" mkdir -p "${BASEPATH}/lib/" lipo -create ${LIPO_LIBSSL} -output "${BASEPATH}/lib/libssl.a" lipo -create ${LIPO_LIBCRYPTO} -output "${BASEPATH}/lib/libcrypto.a" echo "Copying headers..." rm -rf "${BASEPATH}/opensslIncludes/" mkdir -p "${BASEPATH}/opensslIncludes/" cp -RL "${CURRENTPATH}/openssl-${VERSION}/include/openssl" "${BASEPATH}/opensslIncludes/" cd "${BASEPATH}" echo "Building done." echo "Cleaning up..." rm -rf "${CURRENTPATH}" echo "Done." CMD

答案 1 :(得分:0)

我假设您已在网络服务器中安装 SDK or Runtime

然后,您需要在网络服务器中安装 ASP.NET Core Module 。 这是download link

故障排除

如果仍然无效,请打开命令提示符。导航到Web应用程序文件夹,然后键入dotnet YOUR_APP.dll。你应该看到这样的东西 -

C:\APIs> dotnet YOUR_APP.dll
Hosting environment: Production
Content root path: C:\APIs
Now listening on: http://localhost:5000
Application started: Press Ctrl+C to shut down.

这意味着您的应用程序可以在没有IIS的Web服务器中运行。然后你需要麻烦在IIS或其他一些东西拍摄。

答案 2 :(得分:0)

这个问题已经问了很久了,但是我遇到了同样的问题,我发现只需在登录页面路径中添加“〜”或“ ..”即可,而不是“ / Account / Login”。 。 现在,我可以使用默认网站/我的网站。 也许其他人遇到此错误。

答案 3 :(得分:0)

就我而言,在dotnet publish -c Debug路径内移动已发布的应用程序(从项目文件夹中发布do:C:\inetpub\wwwroot\<site>)可以解决此问题。

由于某种原因,它不能从我的项目文件夹中运行。 奇怪的是,在IIS上配置的用户在失败时可以访问该文件夹。所以,去吧...