Я не могу развернуть свой интерфейс (Vite) в Aspire 13.C#

Место общения программистов C#
Ответить
Anonymous
 Я не могу развернуть свой интерфейс (Vite) в Aspire 13.

Сообщение Anonymous »

У меня есть серверная часть с базой данных (cosmos DB) и хранилищем (учетная запись хранения Azure) и, наконец, внешнее приложение с реагированием и VITE в моем приложении оркестрации Aspire 13.1.
Я не могу развернуть его через интерфейс командной строки разработчика Azure (azd Deployment или azd Up), я получаю следующую ошибку:
info: Aspire.Hosting.DistributedApplication[0]
Aspire version: 13.1.0+8a4db1775c3fbae1c602022b636299cb04971fde
fail: Aspire.Hosting.Publishing.PipelineExecutor[0]
App Service context not found for resource frontend.
System.InvalidOperationException: App Service context not found for resource frontend.
at Aspire.Hosting.Azure.AzureAppServiceEnvironmentContext.GetAppServiceContext(IResource resource) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentContext.cs:line 30
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.ProcessValue(Object value, SecretType secretType, Object parent, Boolean isSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 149
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.CreateAndConfigureWebSite(AzureResourceInfrastructure infra, BicepValue`1 name, BicepValue`1 appServicePlanParameter, BicepValue`1 acrMidParameter, ProvisioningParameter acrClientIdParameter, ProvisioningParameter containerImage, Boolean isSlot, WebSite parentWebSite, BicepValue`1 deploymentSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 408
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.BuildWebSiteCore(AzureResourceInfrastructure infra, BicepValue`1 deploymentSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 613
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.BuildWebSite(AzureResourceInfrastructure infra) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 275
at Aspire.Hosting.Azure.AzureProvisioningResource.GetBicepTemplateFile(String directory, Boolean deleteTemporaryFileOnDispose) in /_/src/Aspire.Hosting.Azure/AzureProvisioningResource.cs:line 83
at Aspire.Hosting.Azure.AzureProvisioningResource.GetBicepTemplateString() in /_/src/Aspire.Hosting.Azure/AzureProvisioningResource.cs:line 109
at Aspire.Hosting.Azure.AzureBicepResource.c__DisplayClass0_0.b__1(PipelineConfigurationContext context) in /_/src/Aspire.Hosting.Azure/AzureBicepResource.cs:line 66
at Aspire.Hosting.Pipelines.PipelineConfigurationAnnotation.c__DisplayClass4_0.b__0(PipelineConfigurationContext context) in /_/src/Aspire.Hosting/Pipelines/PipelineConfigurationAnnotation.cs:line 42
at Aspire.Hosting.Azure.AzureAppServiceEnvironmentResource.c__DisplayClass0_0.b__1(PipelineConfigurationContext context) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs:line 105
at Aspire.Hosting.Pipelines.PipelineConfigurationAnnotation.c__DisplayClass4_0.b__0(PipelineConfigurationContext context) in /_/src/Aspire.Hosting/Pipelines/PipelineConfigurationAnnotation.cs:line 42
at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteConfigurationCallbacksAsync(PipelineContext pipelineContext, List`1 allSteps) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 520
at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteAsync(PipelineContext context) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 348
at Aspire.Hosting.Publishing.PipelineExecutor.ExecutePipelineAsync(DistributedApplicationModel model, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Publishing/PipelineExecutor.cs:line 103
at Aspire.Hosting.Publishing.PipelineExecutor.ExecuteAsync(CancellationToken stoppingToken) in /_/src/Aspire.Hosting/Publishing/PipelineExecutor.cs:line 55

И, наконец, вот мой AppHost.cs:
using Azure.Provisioning.CosmosDB;
using Azure.Provisioning.Storage;
using Microsoft.Extensions.Configuration;

var builder = DistributedApplication.CreateBuilder(args);

// Read from ASPNETCORE_ENVIRONMENT or DOTNET_ENVIRONMENT, falling back to "Production"
var env_environment = builder.Configuration["ASPNETCORE_ENVIRONMENT"]
?? builder.Configuration["DOTNET_ENVIRONMENT"]
?? builder.Configuration["Environment"]
?? "Production";
var isDevelopment = env_environment.ToLower() == "development";
Console.WriteLine($"Environment set to: {env_environment}");

// Detect if running in publish mode
var isPublishing = builder.ExecutionContext.IsPublishMode;
Console.WriteLine($"IsPublishing: {isPublishing}");

var frontendPort = builder.Configuration["Frontend:Port"] ?? "80";
Console.WriteLine($"Frontend will run on port: {frontendPort}");

var webapiPort = builder.Configuration["WebApi:Port"] ?? "80";
Console.WriteLine($"WebApi will run on port: {webapiPort}");

// Add CosmosDB resource - private endpoints will be created post-deployment
var cosmos = builder.AddAzureCosmosDB("cosmos-db");
var db = cosmos.AddCosmosDatabase("db", env_chat_storage_cosmos_databaseId);

// Add Azure Blob Storage - private endpoints will be created post-deployment
var storage = builder.AddAzureStorage("storage");
var blobStorage = storage.AddBlobs("blobs");
// var chatContainer = storage.AddBlobContainer("blobs","container");

if (isDevelopment)
{
// In development, we can use the CosmosDB Emulator
#pragma warning disable ASPIRECOSMOSDB001 // Type is for evaluation purposes only and is subject to change or removal in future updates
cosmos.RunAsPreviewEmulator(emulator =>
{
emulator.WithDataExplorer();
emulator.WithGatewayPort(8081);
});
#pragma warning restore ASPIRECOSMOSDB001
storage.RunAsEmulator(azurite =>
{
azurite.WithBlobPort(27000);
});
}

if (isPublishing)
{
frontendPort = "80";
webapiPort = "80";
}

var appServicePlan = builder.AddAzureAppServiceEnvironment("appservice-plan");

var apiService = builder.AddProject("webapi")
.WithHttpEndpoint(port: int.Parse(webapiPort), name: "webapi-http")
.WithExternalHttpEndpoints()
.WaitFor(db)
.WaitFor(storage)
.PublishAsAzureAppServiceWebsite((infra, website) =>
{
});

if (!isPublishing)
{
apiService
.WithReference(cosmos)
.WithReference(blobStorage);
}

var frontend = builder.AddJavaScriptApp("frontend", "../../frontend")
.WithHttpEndpoint(env: "PORT", port: int.Parse(frontendPort))
.WithExternalHttpEndpoints()
.WithEnvironment("VITE_API_URL", apiService.GetEndpoint("frontend-http"))
.WaitFor(apiService)
.PublishAsAzureAppServiceWebsite((infra, website) =>
{
});

apiService.WithEnvironment("FrontendCorsOrigin", frontend.GetEndpoint("http"));

if (!isPublishing)
{
frontend
.WithReference(apiService);

}

builder.AddAzureProvisioning();

builder.Build().Run();


Подробнее здесь: https://stackoverflow.com/questions/798 ... -aspire-13
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»