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

jtoj6r0c  于 2022-11-13  发布在  .NET
关注(0)|答案(3)|浏览(148)

我完全按照这个链接http://codersblock.com/blog/how-to-run-net-on-heroku/
在heroku上部署应用程序,但出现错误
推送被拒绝,未能编译ASP.NET核心应用程序。
当我执行git push heroku master时候
如果任何机构知道这个问题,这将是很大的帮助。

  • 谢谢-谢谢
guz6ccqo

guz6ccqo1#

什么是Heroku-16?
包含您的应用程序的发行版(stacks)有不同类型:

  • 黑鹿-16
  • cedar-14(支持dotNet-core。)

这就是为什么我们将切换到cedar-14

如何修复:

1-安装 heroku cli。(https://devcenter.heroku.com/articles/heroku-cli
2-打开命令类型:

cd to/project/Root 

heroku stack:set cedar-14
git push heroku master
mpbci0fu

mpbci0fu2#

您可以创建一个Docker文件来生成一个可在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映像并在其中构建项目的版本
1.使用您的凭据连接到Heroku的Docker注册表
1.为图像创建新标记
1.将您的图像发布到Heroku应用
但是,如果您的计算机不支持Docker,您也可以使用CircleCI来运行这些命令。https://www.codingnagger.com/2018/02/21/continuous-delivery/

wr98u20j

wr98u20j3#

我也遇到过类似的问题,几乎花了一整天的时间来调试它。
我的问题是,我使用的是 Microsoft.Net.Compilers,我想删除它

<PackageReference Include="Microsoft.Net.Compilers" Version="4.2.0">
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    <PrivateAssets>all</PrivateAssets>
</PackageReference>

及添设了

<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>

到.csproj(我的案例中,我使用的是干净的体系结构,因此我在域层中进行了这些修改

<PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
 </PropertyGroup>

注意,我也升级了一些它抱怨被降级的包。

相关问题