Как докернизировать решение PowerBI для встроенных точек. net (Owin) - PullRequest
0 голосов
/ 14 апреля 2020

Я использовал встроенный мастер 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 образ?

Любое замечание или предложение будет с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...