100 lines
No EOL
2.8 KiB
C#
100 lines
No EOL
2.8 KiB
C#
using Prebuild.Core.Attributes;
|
|
using Prebuild.Core.Nodes;
|
|
|
|
namespace Prebuild.Core.Targets;
|
|
|
|
/// <summary>
|
|
/// </summary>
|
|
[Target("vs2022")]
|
|
public class VS2022Target : VSGenericTarget
|
|
{
|
|
#region Constructors
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="VS2012Target" /> class.
|
|
/// </summary>
|
|
public VS2022Target()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Fields
|
|
|
|
#endregion
|
|
|
|
#region Properties
|
|
|
|
/// <summary>
|
|
/// Gets or sets the solution version.
|
|
/// </summary>
|
|
/// <value>The solution version.</value>
|
|
public override string SolutionVersion { get; } = "12.00";
|
|
|
|
/// <summary>
|
|
/// Gets or sets the product version.
|
|
/// </summary>
|
|
/// <value>The product version.</value>
|
|
public override string ProductVersion { get; } = "117.3.2";
|
|
|
|
/// <summary>
|
|
/// Gets or sets the schema version.
|
|
/// </summary>
|
|
/// <value>The schema version.</value>
|
|
public override string SchemaVersion { get; } = "2.0";
|
|
|
|
/// <summary>
|
|
/// Gets or sets the name of the version.
|
|
/// </summary>
|
|
/// <value>The name of the version.</value>
|
|
public override string VersionName { get; } = "Visual Studio Version 17";
|
|
|
|
/// <summary>
|
|
/// Gets or sets the version.
|
|
/// </summary>
|
|
/// <value>The version.</value>
|
|
public override VSVersion Version { get; } = VSVersion.VS22;
|
|
|
|
/// <summary>
|
|
/// Gets the name.
|
|
/// </summary>
|
|
/// <value>The name.</value>
|
|
public override string Name { get; } = "vs2022";
|
|
|
|
protected override string GetToolsVersionXml(FrameworkVersion frameworkVersion)
|
|
{
|
|
switch (frameworkVersion)
|
|
{
|
|
case FrameworkVersion.net5_0:
|
|
case FrameworkVersion.net6_0:
|
|
case FrameworkVersion.net7_0:
|
|
return "ToolsVersion=\"17.0\"";
|
|
case FrameworkVersion.netstandard2_0:
|
|
case FrameworkVersion.v4_8:
|
|
case FrameworkVersion.v4_7_2:
|
|
return "ToolsVersion=\"16.0\"";
|
|
case FrameworkVersion.v4_7_1:
|
|
case FrameworkVersion.v4_7:
|
|
return "ToolsVersion=\"15.0\"";
|
|
case FrameworkVersion.v4_6_2:
|
|
case FrameworkVersion.v4_6_1:
|
|
case FrameworkVersion.v4_6:
|
|
return "ToolsVersion=\"14.0\"";
|
|
case FrameworkVersion.v4_5_2:
|
|
return "ToolsVersion=\"12.0\"";
|
|
case FrameworkVersion.v4_5_1:
|
|
case FrameworkVersion.v4_5:
|
|
case FrameworkVersion.v4_0:
|
|
case FrameworkVersion.v3_5:
|
|
return "ToolsVersion=\"4.0\"";
|
|
case FrameworkVersion.v3_0:
|
|
return "ToolsVersion=\"3.0\"";
|
|
default:
|
|
return "ToolsVersion=\"2.0\"";
|
|
}
|
|
}
|
|
|
|
public override string SolutionTag => "# Visual Studio 22";
|
|
|
|
#endregion
|
|
} |