【问题标题】:How to deploy or run NETCore.App 1.0.0-rc2-3002702如何部署或运行​​ NETCore.App 1.0.0-rc2-3002702
【发布时间】:2016-06-01 04:06:58
【问题描述】:

在我将我的应用程序迁移到 RC2 或非常具体的 V. 1.0.0-rc2-3002702 后,我正在努力部署我的应用程序。我注意到发布目录中的文件夹“approot”不再存在,并且还有“web.cmd”文件。我试图在 IIS 上部署它,但我得到的只是找不到页面“无法访问此站点”。在官方的 MS dotnet 核心文档网站上,它就像“在 IIS 编辑基本设置中创建新网站,一切顺利......”

【问题讨论】:

    标签: asp.net-core .net-core asp.net-core-1.0 .net-core-rc2


    【解决方案1】:

    也许我对类似帖子的回答会有所帮助:https://stackoverflow.com/a/37301527/166928

    不要像在 RC1 中那样将 IIS 指向 wwwroot,而是指向根文件夹。

    另外,您的服务器需要有DotNetCore.1.0.0.RC2-WindowsHosting.exe

    【讨论】:

    • 谢谢 部分答案。我通过在默认网站下创建应用程序并将其指向使用无托管代码的应用程序池和是已发布应用程序的根文件夹来实现它。用 bower 等放大 AngularJS 文件也有很多问题......最后我让它工作了......还有一个提示:在 ConnectionStrings 中最好使用 Trusted_Connection=False;并提供用户名和密码。
    • 不是放大角度:)而是缩小(Uglify):)
    • 对我来说,Trusted_connection=true 可以正常工作。我只是在 app_pool 中更改用户以满足我的要求。
    • 太棒了。 :) 对我来说不是...我挣扎了几个小时才找到最后一个问题...为什么不显示数据。比我发现它是受信任的连接。
    【解决方案2】:

    您需要确保您尝试部署到的服务器已安装HTTPPlatformHandler

    您还需要确保您的 project.json 具有引用的 IISIntegration 包,并且具有包含您的 web.config 的包含。它应该看起来像这样:

    {
      "version": "1.0.0-*",
      "buildOptions": {
        "emitEntryPoint": true,
        "debugType": "portable"
      },
      "publishOptions": {
        "include": [
          "wwwroot",
          "web.config"
        ]
      },
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0-rc2-3002702"
        },
        "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-*",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-*",
        "Microsoft.Extensions.Logging.Console": "1.0.0-*",
        "Microsoft.AspNetCore.StaticFiles": "1.0.0-*" 
      },
      "frameworks": {
        "netcoreapp1.0": {
          "imports": "dnxcore50"
        }
      }
    }
    

    您的 web.config 将如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <handlers>
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" 
               resourceType="Unspecified"/>
        </handlers>
        <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" 
                    stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"  
                    forwardWindowsAuthToken="false"/>
      </system.webServer>
    </configuration>
    

    注意:如果您不是从 Visual Studio 内部发布,环境变量 LAUNCHER_PATH 和 LAUNCHER_ARGS 可能会让您有些头疼。

    要在 Azure VM 上启动并运行 RC2 站点,我必须将该行更改为如下所示:

    <aspNetCore processPath="dotnet" arguments="./YourAppEntryPoint.dll" 
                stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" 
                forwardWindowsAuthToken="false"/>
    

    【讨论】:

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