【问题标题】:Hosting .NET Core on Heroku (.msproj)在 Heroku (.msproj) 上托管 .NET Core
【发布时间】:2017-05-04 21:31:02
【问题描述】:

我最近在我想要托管的 .NET Core 中构建了我的第一个从开始到排序-完成的 MVC 应用程序。

但是,我能找到的唯一免费托管可能性是使用 Heroku,它似乎只支持使用 @ 的 .NET Core(或 Visual Studio)的早期版本987654323@.

因此,我一直在网上四处寻找将我的 .msproj 项目转换为 project.json 项目的方法。

有没有其他人遇到过这种情况,或者听说过解决方案?

【问题讨论】:

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


【解决方案1】:

我还没有测试过,但是试试这个 buildpack。它也支持project.json和csproj。

https://elements.heroku.com/buildpacks/jenyayel/dotnet-buildpack

【讨论】:

    【解决方案2】:

    您可以创建一个 Dockerfile 来生成可在 Heroku 上运行的 Docker 映像。

    FROM microsoft/aspnetcore-build:2.0 AS build-env
    WORKDIR /app
    
    # Copy csproj and restore as distinct layers
    COPY *.csproj ./
    RUN dotnet restore
    
    # Copy everything else and build
    COPY . ./
    RUN dotnet publish -c Release -o out
    
    # Build runtime image
    FROM microsoft/aspnetcore:2.0
    WORKDIR /app
    COPY --from=build-env /app/out .
    CMD ASPNETCORE_URLS=http://*:$PORT dotnet <YOUR_API_NAME>.dll
    

    然后您可以直接使用这些 Docker 命令将其发布到 Heroku:

    docker build -t aspnetapp <YOUR_API_NAME>
    docker login --username=$HEROKU_USERNAME --password=$HEROKU_API_KEY registry.heroku.com
    docker tag aspnetapp registry.heroku.com/$HEROKU_APP_NAME/web
    docker push registry.heroku.com/$HEROKU_APP_NAME/web
    

    按照这些命令的顺序:

    1. 创建 Docker 映像并在其中构建项目的发布版
    2. 使用您的凭据连接到 Heroku 的 docker 注册表
    3. 为您的图片创建一个新标签
    4. 将您的图像发布到您的 Heroku 应用程序

    但是,如果您的机器不支持 Docker,您也可以使用 CircleCI 来运行这些命令。更多细节在这里: https://www.codingnagger.com/2018/02/21/continuous-delivery/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 2014-12-20
      • 2017-05-24
      • 2020-03-09
      • 2021-09-25
      相关资源
      最近更新 更多