The article suggests that the method is called like this:
var cache = builder.AddRedis("cache")
.PublishAsDockerComposeService();
This won't compile or run because you need to pass an action:
var apiService = builder.AddProject<Projects.AspireDockerExp_ApiService>("apiservice")
.PublishAsDockerComposeService((resource, service) =>
{
service.Name = "redis";
});