【问题标题】:Change targetFramework on IIS更改 IIS 上的 targetFramework
【发布时间】:2015-06-05 14:07:16
【问题描述】:

在我的 ASP.NET 5 应用程序中,借助 HtmlHelper,我生成了一个下拉列表。除了在生产环境中,任何东西在 localhost 中都可以正常工作,我们有一个 500 服务器错误。

我能够在 github 上找到执行的演员表,并将其执行到 MVC 库中,精确到 DefaultHtmlGenerator 类中:

当我们想要根据传入参数的 SelectList 呈现下拉列表时执行此转换。

我们可以看到注释指定我们必须至少使用 4.5 版本的框架。在堆栈跟踪的末尾,我们看到了生产中使用的框架版本:

但是,我们的服务器上安装的是4.5版本,我尝试在项目的wwwroot中插入一个web.config文件来强制目标框架:

但它不起作用,我们在 project.json 中正确指出了我们要使用的框架:

所以我的问题是:我们可以使用 compilation targetFramework="4.5"httpRuntime targetFramework="4.5" 来强制 IIS 使用 4.5 版本吗?

【问题讨论】:

  • 是的,我们可以强制 iis 使用特定版本。请参考问题stackoverflow.com/questions/9559372/…
  • 好的,我更改了应用程序池,现在我使用 .NET v4.5 池,但仍然出现相同的错误。
  • 部署到 IIS 时遇到同样的错误
  • 我认为 ASP.NET 5 需要 .NET 4.6。
  • 您是否使用了“发布到文件系统”选项?它会生成自己的 web.config、特定的 bin 等,以便在 IIS 中与 DNX 一起使用。

标签: c# asp.net iis asp.net-core-mvc


【解决方案1】:

注意

您正试图在 IIS 托管代码中运行。你不能那样做。 IIS 不再管理该进程。基本上,IIS 将运行一个 EXE 并将请求转发给它。就是这样。

检查以下过程以将DNX 应用程序正确部署到 IIS。或者更好的是,阅读这里的文档:http://docs.asp.net/en/latest/publishing/iis.html


要求

  • Windows 7 或更高版本
  • Windows Server 2008 R2 或更高版本
  • 已安装 IIS

程序

首先,确保您的 IIS 中安装了 HTTP 平台处理程序 (x86 / x64)。

将您的应用程序发布到文件系统并获取 \artifacts\bin\MyWebApp\Release\Publish 文件夹的内容并将其复制到您的 IIS 服务器中。

在配置您的应用程序时,定位到您复制过来的 wwwroot 文件夹。

现在您需要解锁system.webServer/handlers 部分,该部分可以在服务器节点上的 IIS 管理器中的Configuration Editor 下找到。搜索右侧部分并从右侧操作窗格中将其解锁。

确保应用程序池设置为No Managed Code。 DNX 作为外部进程运行。 IIS 不需要知道它当前正在运行什么。

最后,创建一个web.config,内容如下:

<configuration>
  <system.webServer>
    <handlers>
      <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
  </system.webServer>
</configuration>

此时它应该正在运行。


Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多