Skip to content

Service bus emulator broken #7511

@sebastienros

Description

@sebastienros
          @sebastienros  I've pulled the latest nighly version of Aspire, I've created a very basic [sample repo](https://github.com/kyurkchyan/AspireSample) with aspire starter template and used the new `RunAsEmulator` extension method
var serviceBus = builder.AddAzureServiceBus("ServiceBus")
    .RunAsEmulator()
    .ConfigureInfrastructure(infra =>
    {
        var resources = infra.GetProvisionableResources();
        var serviceBus = resources.OfType<ServiceBusNamespace>().Single();
        serviceBus.Name = GetResourceName("asb", infra);
    })
    .WithTopic("aspire",
        topic => { topic.Subscriptions.AddRange([new ServiceBusSubscription("TestSubscription")]); });

When I run the project both on Mac and Windows, I receive the following exception

Unhandled exception. System.ArgumentException: Bind mounts must specify an absolute path. (Parameter 'source')
   at Aspire.Hosting.ApplicationModel.ContainerMountAnnotation..ctor(String source, String target, ContainerMountType type, Boolean isReadOnly) in /_/src/Aspire.Hosting/ApplicationModel/ContainerMountAnnotation.cs:line 33
   at Aspire.Hosting.AzureServiceBusExtensions.<>c__DisplayClass7_0.<RunAsEmulator>b__2(BeforeStartEvent event, CancellationToken ct) in /_/src/Aspire.Hosting.Azure.ServiceBus/AzureServiceBusExtensions.cs:line 351
   at Aspire.Hosting.Eventing.DistributedApplicationEventing.<>c__DisplayClass4_0`1.<<Subscribe>b__0>d.MoveNext() in /_/src/Aspire.Hosting/Eventing/DistributedApplicationEventing.cs:line 82
--- End of stack trace from previous location ---
   at Aspire.Hosting.Eventing.DistributedApplicationEventing.PublishAsync[T](T event, EventDispatchBehavior dispatchBehavior, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Eventing/DistributedApplicationEventing.cs:line 69
   at Aspire.Hosting.DistributedApplication.ExecuteBeforeStartHooksAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/DistributedApplication.cs:line 351
   at Aspire.Hosting.DistributedApplication.RunAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/DistributedApplication.cs:line 310
   at Program.<Main>$(String[] args) in /Users/gagik/Documents/Projects/Learning/Aspire/AspireSample/AspireSample.AppHost/Program.cs:line 37
   at Program.<Main>(String[] args)

Is there any extra configuration that should be done to integrate the emulator support?

Originally posted by @kyurkchyan in #6737 (comment)

Metadata

Metadata

Assignees

Labels

area-integrationsIssues pertaining to Aspire Integrations packages

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions