Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku推送被拒绝,未能编译ASP.NET核心应用程序_Asp.net_Heroku_Asp.net Core 1.0 - Fatal编程技术网

Heroku推送被拒绝,未能编译ASP.NET核心应用程序

Heroku推送被拒绝,未能编译ASP.NET核心应用程序,asp.net,heroku,asp.net-core-1.0,Asp.net,Heroku,Asp.net Core 1.0,我完全遵循了这个链接 在heroku上部署应用程序,但我遇到了一个错误 推送被拒绝,未能编译ASP.NET核心应用程序 当我执行git时,推heroku master 如果有任何机构知道这个问题,那将是很大的帮助 谢谢。什么是heroku-16? 有不同类型的发行版(堆栈)包含您的应用程序: heroku-16 cedar-14(支持dotNet核心。) 这就是为什么我们将切换到雪松-14 如何修复: 1-安装heroku cli。() 2-打开命令。类型: cd to/project/Ro

我完全遵循了这个链接

在heroku上部署应用程序,但我遇到了一个错误

推送被拒绝,未能编译ASP.NET核心应用程序

当我执行git时,推heroku master

如果有任何机构知道这个问题,那将是很大的帮助


谢谢。

什么是heroku-16?

有不同类型的发行版(
堆栈
)包含您的应用程序:

  • heroku-16
  • cedar-14(支持dotNet核心。)
这就是为什么我们将切换到雪松-14

如何修复:

1-安装heroku cli。()

2-打开命令。类型:

cd to/project/Root 

heroku stack:set cedar-14
git push heroku master

您可以创建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
来自microsoft/aspnetcore内部版本:2.0作为内部版本环境
WORKDIR/app
#复制csproj并恢复为不同的层
复制*.csproj/
运行dotnet还原
#复制所有其他内容并构建
复制/
运行dotnet publish-c Release-o out
#构建运行时映像
来自microsoft/aspnetcore:2.0
WORKDIR/app
复制--from=build env/app/out。
CMD ASPNETCORE_url=http://*:$PORT dotnet.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
docker build-t aspnetapp
docker登录--用户名=$HEROKU\u用户名--密码=$HEROKU\u API\u KEY registry.HEROKU.com
docker标签aspnetapp registry.heroku.com/$heroku\u APP\u NAME/web
docker push registry.heroku.com/$heroku\u APP\u NAME/web
按照这些命令的顺序:

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
  • 创建Docker映像并在其中生成项目的版本
  • 使用您的凭据连接到Heroku的docker注册表
  • 为图像创建新标记
  • 将您的图像发布到Heroku应用程序
  • 但是,如果您的计算机不支持Docker,您也可以使用CircleCI来运行这些命令。详情如下:

    共享您的错误日志Shi Mehta,请查看错误日志详细信息:-->ASP.NET核心应用程序检测到堆栈heroku-16不受支持!推送被拒绝,未能编译ASP.NET核心应用程序!推送失败,谢谢。在谷歌上搜索后,我想问一下,你是否设置了构建包?heroku堆栈:设置cedar-14然后git推送heroku master