Я использовал встроенный мастер powerBI для создания решения C# и пытаюсь развернуть его на Heroku. В проекте используется Owin.
Здесь Dockerfile.
FROM mcr.microsoft.com/dotnet/core/sdk:2.2.300-alpine3.9 as server
ENV ASPNETCORE_Environment=Production
WORKDIR /server
COPY . ./
RUN dotnet publish -c Release -o publish
ENTRYPOINT ["dotnet","publish/PowerBIEmbedded_AppOwnsData.dll"]
Я добавил файл Program.cs, а также:
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using System;
namespace PowerBIEmbedded_AppOwnsData
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args)
.UseKestrel()
.UseUrls("http://0.0.0.0:" + Environment.GetEnvironmentVariable("PORT"))
.Build()
.Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
}
Мои Docker команды приведены ниже. Я использовал его для другого C# проекта, и он работал довольно хорошо:
heroku container:login
docker login --username=_ --password=$(heroku auth:token) registry.heroku.com
docker build -t registry.heroku.com/apptestpbi/web .
docker push registry.heroku.com/apptestpbi/web
heroku container:release web --app apptestpbi
heroku logs -tail -a apptestpbi
Вот журнал Docker, который я получаю.
Ничего не поделаешь. Ни один из указанных проектов не содержит пакетов для восстановления. /server/PowerBIEmbedded_AppOwnsData.csproj(212,3): ошибка MSB4019: импортированный проект "/usr/share/dotnet/sdk/2.2.300/Microsoft/VisualStudio/v16.0/WebApplications/Microsoft.WebApplication.targets was was нашел. Убедитесь, что путь в объявлении правильный, и что файл существует на диске. Команда '/ bin / sh - c do tnet publi sh - c Release -o publi sh' вернула ненулевой код: 1
Я прочитал эту ветку, но я не увидел, чтобы что-то изменилось в моем коде Microsoft.WebApplication.targets не был найден на сервере сборки. Каково ваше решение? Может быть, мне нужно установить Visual Studio на Docker образ?
Любое замечание или предложение будет с благодарностью!