// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using System;
namespace Flax.Build.Projects.VisualStudio
{
///
/// The generic implementation of the Visual Studio project.
///
///
public class VisualStudioProject : Project
{
///
/// The project unique identifier (from the project file or the generated).
///
public Guid ProjectGuid;
///
/// The project parent folder identifier (used in the solution hierarchy).
///
public Guid FolderGuid;
///
/// Gets the project type unique identifier. Used by the Visual Studio solution file to identify the project type.
///
public virtual Guid ProjectTypeGuid
{
get
{
switch (Type ?? Targets[0].Type)
{
case TargetType.NativeCpp: return VisualStudioProjectGenerator.ProjectTypeGuids.WindowsVisualCpp;
case TargetType.DotNet: return VisualStudioProjectGenerator.ProjectTypeGuids.WindowsCSharp;
case TargetType.DotNetCore: return VisualStudioProjectGenerator.ProjectTypeGuids.WindowsCSharp;
default: throw new ArgumentOutOfRangeException();
}
}
}
}
}