in src/dotnet/AspirePlugin/RunnableProject/AspireRunnableProjectProvider.cs [10:51]
public class AspireRunnableProjectProvider(
ProjectRunnableOutputDetector projectRunnableOutputDetector,
ILogger logger
) : IRunnableProjectProvider
{
public Model.RunnableProject? CreateRunnableProject(
IProject project,
string name,
string fullName,
IconModel? icon)
{
if (!project.IsDotNetCoreProject()) return null;
if (!project.IsAspireHostProject()) return null;
var projectOutputs = new List<ProjectOutput>();
foreach (var tfm in project.TargetFrameworkIds)
{
var projectOutput = projectRunnableOutputDetector.CalculateProjectOutput(project, tfm);
if (projectOutput == null)
{
logger.Trace($"Unable to find output for project for {tfm}");
continue;
}
projectOutputs.Add(projectOutput);
}
return new Model.RunnableProject(
name,
fullName,
project.ProjectFileLocation.NormalizeSeparators(FileSystemPathEx.SeparatorStyle.Unix),
AspireRunnableProjectKinds.AspireHost,
projectOutputs,
[],
null,
[]
);
}
public IEnumerable<RunnableProjectKind> HiddenRunnableProjectKinds => EmptyList<RunnableProjectKind>.Instance;
}