Browse Source
* List of target frameworks can be extended using the AddInTree. * CompilableProject no longer needs special-case logic for client profile frameworks. * ReferenceAssemblies property allows retrieving the list of assemblies that ships with the framework.pull/326/merge
33 changed files with 1525 additions and 289 deletions
@ -0,0 +1,160 @@ |
|||||||
|
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||||
|
// software and associated documentation files (the "Software"), to deal in the Software
|
||||||
|
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||||
|
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||||
|
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all copies or
|
||||||
|
// substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||||
|
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using ICSharpCode.SharpDevelop.Parser; |
||||||
|
|
||||||
|
namespace ICSharpCode.SharpDevelop.Project.TargetFrameworks |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Desktop Framework based on the .NET 2.0 runtime. (.NET 2.x/3.x)
|
||||||
|
/// </summary>
|
||||||
|
abstract class DotNet2x : TargetFramework |
||||||
|
{ |
||||||
|
public override bool IsDesktopFramework { |
||||||
|
get { return true; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string SupportedRuntimeVersion { |
||||||
|
get { return "v2.0.50727"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsAvailable() |
||||||
|
{ |
||||||
|
// .NET 2.0/3.0/3.5 can only be used if .NET 3.5 SP1 is installed
|
||||||
|
return DotnetDetection.IsDotnet35SP1Installed(); |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsBasedOn(TargetFramework fx) |
||||||
|
{ |
||||||
|
// This implementation is used for all non-client versions of .NET 2.x/3.x
|
||||||
|
return fx != null && fx.IsDesktopFramework && fx.Version <= this.Version; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
sealed class DotNet20 : DotNet2x |
||||||
|
{ |
||||||
|
public override string TargetFrameworkVersion { |
||||||
|
get { return "v2.0"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string DisplayName { |
||||||
|
get { return ".NET Framework 2.0";} |
||||||
|
} |
||||||
|
|
||||||
|
public override Version Version { |
||||||
|
get { return Versions.V2_0; } |
||||||
|
} |
||||||
|
|
||||||
|
public override Version MinimumMSBuildVersion { |
||||||
|
get { return Versions.V2_0; } |
||||||
|
} |
||||||
|
|
||||||
|
public override IReadOnlyList<DomAssemblyName> ReferenceAssemblies { |
||||||
|
get { return RedistLists.Net20; } |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
sealed class DotNet30 : DotNet2x |
||||||
|
{ |
||||||
|
public override string TargetFrameworkVersion { |
||||||
|
get { return "v3.0"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string DisplayName { |
||||||
|
get { return ".NET Framework 3.0";} |
||||||
|
} |
||||||
|
|
||||||
|
public override Version Version { |
||||||
|
get { return Versions.V3_0; } |
||||||
|
} |
||||||
|
|
||||||
|
public override Version MinimumMSBuildVersion { |
||||||
|
get { return Versions.V3_5; } |
||||||
|
} |
||||||
|
|
||||||
|
public override IReadOnlyList<DomAssemblyName> ReferenceAssemblies { |
||||||
|
get { return RedistLists.Net30; } |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
sealed class DotNet35 : DotNet2x |
||||||
|
{ |
||||||
|
public override string TargetFrameworkVersion { |
||||||
|
get { return "v3.5"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string DisplayName { |
||||||
|
get { return ".NET Framework 3.5";} |
||||||
|
} |
||||||
|
|
||||||
|
public override Version Version { |
||||||
|
get { return Versions.V3_5; } |
||||||
|
} |
||||||
|
|
||||||
|
public override Version MinimumMSBuildVersion { |
||||||
|
get { return Versions.V3_5; } |
||||||
|
} |
||||||
|
|
||||||
|
public override IReadOnlyList<DomAssemblyName> ReferenceAssemblies { |
||||||
|
get { return RedistLists.Net35; } |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
sealed class DotNet35Client : DotNet2x |
||||||
|
{ |
||||||
|
public override string TargetFrameworkVersion { |
||||||
|
get { return "v3.5"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string TargetFrameworkProfile { |
||||||
|
get { return "Client"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string DisplayName { |
||||||
|
get { return ".NET Framework 3.5 Client Profile";} |
||||||
|
} |
||||||
|
|
||||||
|
public override string SupportedSku { |
||||||
|
get { return "Client"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override bool RequiresAppConfigEntry { |
||||||
|
get { return true; } |
||||||
|
} |
||||||
|
|
||||||
|
public override Version Version { |
||||||
|
get { return Versions.V3_5; } |
||||||
|
} |
||||||
|
|
||||||
|
public override Version MinimumMSBuildVersion { |
||||||
|
get { return Versions.V3_5; } |
||||||
|
} |
||||||
|
|
||||||
|
public override IReadOnlyList<DomAssemblyName> ReferenceAssemblies { |
||||||
|
get { return RedistLists.Net35Client; } |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsBasedOn(TargetFramework fx) |
||||||
|
{ |
||||||
|
// 3.5 Client was the first client profile
|
||||||
|
return fx == this; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,125 @@ |
|||||||
|
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||||
|
// software and associated documentation files (the "Software"), to deal in the Software
|
||||||
|
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||||
|
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||||
|
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all copies or
|
||||||
|
// substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||||
|
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using ICSharpCode.SharpDevelop.Parser; |
||||||
|
|
||||||
|
namespace ICSharpCode.SharpDevelop.Project |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Desktop Framework based on the .NET 4.0 runtime.
|
||||||
|
/// The client profile framework derives from this class.
|
||||||
|
/// </summary>
|
||||||
|
class DotNet4x : TargetFramework |
||||||
|
{ |
||||||
|
readonly Version version; |
||||||
|
readonly string targetFrameworkVersion; |
||||||
|
readonly string displayName; |
||||||
|
readonly IReadOnlyList<DomAssemblyName> redistList; |
||||||
|
readonly Func<bool> isAvailable; |
||||||
|
|
||||||
|
public DotNet4x(Version version, IReadOnlyList<DomAssemblyName> redistList, Func<bool> isAvailable) |
||||||
|
{ |
||||||
|
this.version = version; |
||||||
|
this.targetFrameworkVersion = "v" + version; |
||||||
|
this.displayName = ".NET Framework " + version; |
||||||
|
this.redistList = redistList; |
||||||
|
this.isAvailable = isAvailable; |
||||||
|
} |
||||||
|
|
||||||
|
public override string TargetFrameworkVersion { |
||||||
|
get { return targetFrameworkVersion; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string DisplayName { |
||||||
|
get { return displayName; } |
||||||
|
} |
||||||
|
|
||||||
|
public override Version Version { |
||||||
|
get { return version; } |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsAvailable() |
||||||
|
{ |
||||||
|
return isAvailable(); |
||||||
|
} |
||||||
|
|
||||||
|
public override Version MinimumMSBuildVersion { |
||||||
|
get { return Versions.V4_0; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string SupportedRuntimeVersion { |
||||||
|
get { return "v4.0"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override string SupportedSku { |
||||||
|
get { |
||||||
|
string sku = ".NETFramework,Version=" + this.TargetFrameworkVersion; |
||||||
|
if (!string.IsNullOrEmpty(this.TargetFrameworkProfile)) |
||||||
|
sku += ",Profile=" + this.TargetFrameworkProfile; |
||||||
|
return sku; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override bool RequiresAppConfigEntry { |
||||||
|
get { return true; } |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsDesktopFramework { |
||||||
|
get { return true; } |
||||||
|
} |
||||||
|
|
||||||
|
public override IReadOnlyList<DomAssemblyName> ReferenceAssemblies { |
||||||
|
get { return redistList; } |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsBasedOn(TargetFramework fx) |
||||||
|
{ |
||||||
|
// This implementation is used for all non-client versions of .NET 4.x
|
||||||
|
return fx != null && fx.IsDesktopFramework && fx.Version <= this.Version; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desktop Framework based on the .NET 4.0 runtime, client profile.
|
||||||
|
/// </summary>
|
||||||
|
class DotNet4xClient : DotNet4x |
||||||
|
{ |
||||||
|
public DotNet4xClient(Version version, IReadOnlyList<DomAssemblyName> redistList, Func<bool> isAvailable) |
||||||
|
: base(version, redistList, isAvailable) |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public override string DisplayName { |
||||||
|
get { |
||||||
|
return base.DisplayName + " Client Profile"; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override string TargetFrameworkProfile { |
||||||
|
get { return "Client"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override bool IsBasedOn(TargetFramework fx) |
||||||
|
{ |
||||||
|
// This implementation is used for all non-client versions of .NET 4.x
|
||||||
|
return fx != null && fx.IsDesktopFramework && fx.TargetFrameworkProfile == "Client" && fx.Version <= this.Version; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,537 @@ |
|||||||
|
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||||
|
// software and associated documentation files (the "Software"), to deal in the Software
|
||||||
|
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||||
|
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||||
|
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all copies or
|
||||||
|
// substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||||
|
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using ICSharpCode.SharpDevelop.Parser; |
||||||
|
|
||||||
|
namespace ICSharpCode.SharpDevelop.Project.TargetFrameworks |
||||||
|
{ |
||||||
|
static class RedistLists |
||||||
|
{ |
||||||
|
static IReadOnlyList<DomAssemblyName> MakeList(params string[] assemblyNames) |
||||||
|
{ |
||||||
|
return Array.ConvertAll(assemblyNames, n => new DomAssemblyName(n)); |
||||||
|
} |
||||||
|
|
||||||
|
public static readonly IReadOnlyList<DomAssemblyName> Net20 = MakeList( |
||||||
|
"Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"CustomMarshalers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"ISymWrapper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Engine, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Utilities, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.JScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility.Data, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Vsa, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Vsa, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"sysglobl, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.SqlXml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.DirectoryServices.Protocols, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.RegularExpressions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" |
||||||
|
); |
||||||
|
|
||||||
|
public static readonly IReadOnlyList<DomAssemblyName> Net30 = Net20.Concat(MakeList( |
||||||
|
"PresentationBuildTasks, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationCFFRasterizer, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Luna, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Royale, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationUI, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"ReachFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IdentityModel.Selectors, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IO.Log, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Printing, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Speech, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Workflow.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationClient, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationClientsideProviders, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationProvider, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationTypes, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsFormsIntegration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" |
||||||
|
)).ToArray(); |
||||||
|
|
||||||
|
public static readonly IReadOnlyList<DomAssemblyName> Net35 = Net30.Concat(MakeList( |
||||||
|
"Microsoft.Build.Conversion.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Framework, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC.STLCLR, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Sentinel.v3.5Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.AddIn, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.AddIn.Contract, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ComponentModel.DataAnnotations, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Entity.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.DirectoryServices.AccountManagement, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Management.Instrumentation, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Net, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DynamicData.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.Entity.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Windows.Presentation, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" |
||||||
|
)).ToArray(); |
||||||
|
|
||||||
|
public static readonly IReadOnlyList<DomAssemblyName> Net35Client = MakeList( |
||||||
|
"Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"CustomMarshalers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"ISymWrapper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.JScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Vsa, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Luna, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Royale, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"ReachFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.AddIn, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.AddIn.Contract, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.SqlXml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Net, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Printing, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Windows.Presentation, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"UIAutomationClient, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationClientsideProviders, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationProvider, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationTypes, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsFormsIntegration, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" |
||||||
|
); |
||||||
|
|
||||||
|
public static readonly IReadOnlyList<DomAssemblyName> Net40Client = MakeList( |
||||||
|
"Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.JScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility.Data, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Royale, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"ReachFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.Core.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.AddIn, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.AddIn.Contract, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Device, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.DirectoryServices.AccountManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Dynamic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IO.Log, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Management.Instrumentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Printing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Windows.Input.Manipulations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Windows.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"UIAutomationClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationClientsideProviders, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationTypes, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" |
||||||
|
); |
||||||
|
|
||||||
|
public static readonly IReadOnlyList<DomAssemblyName> Net40 = MakeList( |
||||||
|
"Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Conversion.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.JScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility.Data, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC.STLCLR, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"PresentationBuildTasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Royale, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"ReachFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.Core.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.AddIn, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.AddIn.Contract, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Device, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.DirectoryServices.AccountManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Dynamic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IO.Log, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Management.Instrumentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Printing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DataVisualization.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DynamicData.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Windows.Forms.DataVisualization.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Windows.Input.Manipulations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Windows.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Workflow.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Workflow.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"UIAutomationClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationClientsideProviders, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationTypes, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"XamlBuildTask, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" |
||||||
|
); |
||||||
|
|
||||||
|
public static readonly IReadOnlyList<DomAssemblyName> Net45 = MakeList( |
||||||
|
"Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Activities.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Conversion.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.JScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualBasic.Compatibility.Data, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"Microsoft.VisualC.STLCLR, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"PresentationBuildTasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"PresentationFramework.Royale, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"ReachFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.Core.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Activities.Statements, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.AddIn, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.AddIn.Contract, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ComponentModel.Composition.Registration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Device, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.DirectoryServices.AccountManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Dynamic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.IO.Log, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Management.Instrumentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Printing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Reflection.Context, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DataVisualization.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.DynamicData.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", |
||||||
|
"System.Windows.Controls.Ribbon, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Windows.Forms.DataVisualization.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Windows.Input.Manipulations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Windows.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Workflow.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Workflow.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", |
||||||
|
"UIAutomationClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationClientsideProviders, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"UIAutomationTypes, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", |
||||||
|
"XamlBuildTask, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" |
||||||
|
); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,377 @@ |
|||||||
|
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||||
|
// software and associated documentation files (the "Software"), to deal in the Software
|
||||||
|
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||||
|
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||||
|
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all copies or
|
||||||
|
// substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||||
|
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Xml.Linq; |
||||||
|
using ICSharpCode.NRefactory; |
||||||
|
using ICSharpCode.SharpDevelop.Parser; |
||||||
|
using ICSharpCode.SharpDevelop.Project.Converter; |
||||||
|
using ICSharpCode.SharpDevelop.Project.TargetFrameworks; |
||||||
|
|
||||||
|
namespace ICSharpCode.SharpDevelop.Project |
||||||
|
{ |
||||||
|
public abstract class TargetFramework |
||||||
|
{ |
||||||
|
public static readonly TargetFramework Net20 = new DotNet20(); |
||||||
|
public static readonly TargetFramework Net30 = new DotNet30(); |
||||||
|
public static readonly TargetFramework Net35 = new DotNet35(); |
||||||
|
public static readonly TargetFramework Net35Client = new DotNet35Client(); |
||||||
|
public static readonly TargetFramework Net40 = new DotNet4x(Versions.V4_0, RedistLists.Net40, DotnetDetection.IsDotnet40Installed); |
||||||
|
public static readonly TargetFramework Net40Client = new DotNet4xClient(Versions.V4_0, RedistLists.Net40Client, DotnetDetection.IsDotnet40Installed); |
||||||
|
public static readonly TargetFramework Net45 = new DotNet4x(Versions.V4_5, RedistLists.Net45, DotnetDetection.IsDotnet45Installed); |
||||||
|
public static readonly TargetFramework Net451 = new DotNet4x(Versions.V4_5_1, RedistLists.Net45, DotnetDetection.IsDotnet451Installed); |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retrieves a target framework by a 'name'.
|
||||||
|
/// Used by the .xpt project system; please do not use anywhere else.
|
||||||
|
/// </summary>
|
||||||
|
internal static TargetFramework GetByName(string name) |
||||||
|
{ |
||||||
|
foreach (var fx in SD.ProjectService.TargetFrameworks) { |
||||||
|
// Yes, put version + profile together without any separator... that's how we indicated the Client profiles in SD 4.x and the .xpt file format
|
||||||
|
if (fx.TargetFrameworkVersion + fx.TargetFrameworkProfile == name) |
||||||
|
return fx; |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
internal const string DefaultTargetFrameworkVersion = "v4.0"; |
||||||
|
internal const string DefaultTargetFrameworkProfile = ""; |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the name of the target framework.
|
||||||
|
/// This is used in the project's <TargetFrameworkVersion> element.
|
||||||
|
/// </summary>
|
||||||
|
public abstract string TargetFrameworkVersion { get; } |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the profile of the target framework.
|
||||||
|
/// This is used in the project's <TargetFrameworkProfile> element.
|
||||||
|
///
|
||||||
|
/// Returns the empty string if no profile name is in use.
|
||||||
|
/// </summary>
|
||||||
|
public virtual string TargetFrameworkProfile { |
||||||
|
get { return string.Empty; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the corresponding .NET desktop framework version.
|
||||||
|
/// If this target framework is not a .NET desktop version, gets the closest corresponding version.
|
||||||
|
/// </summary>
|
||||||
|
public abstract Version Version { get; } |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the display name of the target framework.
|
||||||
|
/// </summary>
|
||||||
|
public virtual string DisplayName { |
||||||
|
get { return this.TargetFrameworkVersion; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum MSBuild version required to build projects with this target framework.
|
||||||
|
/// </summary>
|
||||||
|
public abstract Version MinimumMSBuildVersion { get; } // TODO: maybe remove this property?
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets whether this is the MS.NET Framework for the desktop. (not Mono, not WinPhone/Win8 app/portable library/...)
|
||||||
|
/// </summary>
|
||||||
|
public virtual bool IsDesktopFramework { |
||||||
|
get { return false; } |
||||||
|
} |
||||||
|
|
||||||
|
public virtual bool Supports32BitPreferredOption { |
||||||
|
get { return Version >= Versions.V4_5; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Supported runtime version string for app.config
|
||||||
|
/// </summary>
|
||||||
|
public virtual string SupportedRuntimeVersion { |
||||||
|
get { return null; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Supported SKU string for app.config.
|
||||||
|
/// </summary>
|
||||||
|
public virtual string SupportedSku { |
||||||
|
get { return null; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Specifies whether this target framework requires an explicit app.config entry.
|
||||||
|
/// </summary>
|
||||||
|
public virtual bool RequiresAppConfigEntry { |
||||||
|
get { return false; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets whether this target framework in an "improved version" of the specified framework.
|
||||||
|
/// This should usually return whether this framework is (mostly) backward-compatible with the specified framework.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>The 'IsBasedOn' relation should be reflexive and transitive.</remarks>
|
||||||
|
public virtual bool IsBasedOn(TargetFramework fx) |
||||||
|
{ |
||||||
|
return fx == this; |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets whether the runtime for the specified target framework is available on this machine.
|
||||||
|
/// This method controls whether the target framework is visible to the user.
|
||||||
|
///
|
||||||
|
/// Note: for the desktop frameworks, this method tests for run-time availability; it does not check if the reference assemblies are present.
|
||||||
|
/// </summary>
|
||||||
|
public virtual bool IsAvailable() |
||||||
|
{ |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
/* We might implement+use this API in the future if we want to notify the user about missing reference assemblies. |
||||||
|
/// <summary>
|
||||||
|
/// Tests whether the reference assemblies for this framework are installed on this machine.
|
||||||
|
/// </summary>
|
||||||
|
public virtual bool ReferenceAssembliesAvailable() |
||||||
|
{ |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the URL where the reference assemblies can be download.
|
||||||
|
/// May return null if the download location is unknown.
|
||||||
|
/// </summary>
|
||||||
|
public virtual Uri ReferenceAssemblyDownloadLocation { |
||||||
|
get { return null; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the name of the product that contains the reference assemblies for this framework. (for example: "Windows SDK x.y")
|
||||||
|
/// May return null if the source for the reference assemblies is unknown.
|
||||||
|
/// </summary>
|
||||||
|
public virtual string ReferenceAssemblyDownloadVehicle { |
||||||
|
get { return null; } |
||||||
|
} |
||||||
|
*/ |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retrieves the list of reference assemblies for this framework.
|
||||||
|
/// May return an empty list if the reference assemblies are not installed.
|
||||||
|
/// </summary>
|
||||||
|
public virtual IReadOnlyList<DomAssemblyName> ReferenceAssemblies { |
||||||
|
get { |
||||||
|
return EmptyList<DomAssemblyName>.Instance; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reads the 'RedistList/FrameworkList.xml' file with the specified file name.
|
||||||
|
/// </summary>
|
||||||
|
public static IReadOnlyList<DomAssemblyName> ReadRedistList(string redistListFileName) |
||||||
|
{ |
||||||
|
List<DomAssemblyName> list = new List<DomAssemblyName>(); |
||||||
|
XDocument doc = XDocument.Load(redistListFileName); |
||||||
|
foreach (var file in doc.Root.Elements()) { |
||||||
|
string assemblyName = (string)file.Attribute("AssemblyName"); |
||||||
|
string version = (string)file.Attribute("Version"); |
||||||
|
string publicKeyToken = (string)file.Attribute("PublicKeyToken"); |
||||||
|
string culture = (string)file.Attribute("Culture"); |
||||||
|
//string processorArchitecture = (string)file.Attribute("ProcessorArchitecture");
|
||||||
|
if ((string)file.Attribute("InGAC") == "false" || (string)file.Attribute("InGac") == "false") { |
||||||
|
// Ignore assemblies not in GAC.
|
||||||
|
// Note that casing of 'InGAC'/'InGac' is inconsistent between different .NET versions
|
||||||
|
continue; |
||||||
|
} |
||||||
|
list.Add(new DomAssemblyName(assemblyName, Version.Parse(version), publicKeyToken, culture)); |
||||||
|
} |
||||||
|
return list; |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shows a dialog to pick the target framework.
|
||||||
|
/// This method is called by the UpgradeView 'convert' button to retrieve the actual target framework
|
||||||
|
/// </summary>
|
||||||
|
public virtual TargetFramework PickFramework(IEnumerable<IUpgradableProject> selectedProjects) |
||||||
|
{ |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public override string ToString() |
||||||
|
{ |
||||||
|
return DisplayName; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/* |
||||||
|
public class TargetFramework |
||||||
|
{ |
||||||
|
public readonly static TargetFramework Net20 = new TargetFramework("v2.0", ".NET Framework 2.0") { |
||||||
|
SupportedRuntimeVersion = "v2.0.50727", |
||||||
|
MinimumMSBuildVersion = new Version(2, 0), |
||||||
|
// .NET 2.0/3.0/3.5 can only be used if .NET 3.5 SP1 is installed
|
||||||
|
IsAvailable = DotnetDetection.IsDotnet35SP1Installed |
||||||
|
}; |
||||||
|
public readonly static TargetFramework Net30 = new TargetFramework("v3.0", ".NET Framework 3.0") { |
||||||
|
SupportedRuntimeVersion = "v2.0.50727", |
||||||
|
BasedOn = Net20, |
||||||
|
MinimumMSBuildVersion = new Version(3, 5) |
||||||
|
}; |
||||||
|
public readonly static TargetFramework Net35 = new TargetFramework("v3.5", ".NET Framework 3.5") { |
||||||
|
SupportedRuntimeVersion = "v2.0.50727", |
||||||
|
BasedOn = Net30, |
||||||
|
MinimumMSBuildVersion = new Version(3, 5) |
||||||
|
}; |
||||||
|
public readonly static TargetFramework Net35Client = new ClientProfileTargetFramework(Net35) { |
||||||
|
RequiresAppConfigEntry = true |
||||||
|
}; |
||||||
|
public readonly static TargetFramework Net40 = new TargetFramework("v4.0", ".NET Framework 4.0") { |
||||||
|
BasedOn = Net35, |
||||||
|
MinimumMSBuildVersion = new Version(4, 0), |
||||||
|
SupportedSku = ".NETFramework,Version=v4.0", |
||||||
|
RequiresAppConfigEntry = true, |
||||||
|
IsAvailable = DotnetDetection.IsDotnet40Installed |
||||||
|
}; |
||||||
|
public readonly static TargetFramework Net40Client = new ClientProfileTargetFramework(Net40) { |
||||||
|
BasedOn = Net35Client |
||||||
|
}; |
||||||
|
public readonly static TargetFramework Net45 = new TargetFramework("v4.5", ".NET Framework 4.5") { |
||||||
|
BasedOn = Net40, |
||||||
|
MinimumMSBuildVersion = new Version(4, 0), |
||||||
|
SupportedRuntimeVersion = "v4.0", |
||||||
|
SupportedSku = ".NETFramework,Version=v4.5", |
||||||
|
RequiresAppConfigEntry = true, |
||||||
|
IsAvailable = DotnetDetection.IsDotnet45Installed |
||||||
|
}; |
||||||
|
public readonly static TargetFramework Net451 = new TargetFramework("v4.5.1", ".NET Framework 4.5.1") { |
||||||
|
BasedOn = Net45, |
||||||
|
MinimumMSBuildVersion = new Version(4, 0), |
||||||
|
SupportedRuntimeVersion = "v4.0", |
||||||
|
SupportedSku = ".NETFramework,Version=v4.5.1", |
||||||
|
RequiresAppConfigEntry = true, |
||||||
|
IsAvailable = DotnetDetection.IsDotnet451Installed |
||||||
|
}; |
||||||
|
|
||||||
|
public readonly static TargetFramework[] TargetFrameworks = { |
||||||
|
Net451, Net45, Net40, Net40Client, Net35, Net35Client, Net30, Net20 |
||||||
|
}; |
||||||
|
|
||||||
|
public readonly static TargetFramework DefaultTargetFramework = Net40Client; |
||||||
|
|
||||||
|
public static TargetFramework GetByName(string name) |
||||||
|
{ |
||||||
|
foreach (TargetFramework tf in TargetFrameworks) { |
||||||
|
if (tf.Name == name) |
||||||
|
return tf; |
||||||
|
} |
||||||
|
throw new ArgumentException("No target framework '" + name + "' exists"); |
||||||
|
} |
||||||
|
|
||||||
|
string name, displayName; |
||||||
|
|
||||||
|
public TargetFramework(string name, string displayName) |
||||||
|
{ |
||||||
|
this.name = name; |
||||||
|
this.displayName = displayName; |
||||||
|
this.SupportedRuntimeVersion = name; |
||||||
|
this.IsAvailable = delegate { |
||||||
|
if (this.BasedOn != null) |
||||||
|
return this.BasedOn.IsAvailable(); |
||||||
|
else |
||||||
|
return true; |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
public string Name { |
||||||
|
get { return name; } |
||||||
|
} |
||||||
|
|
||||||
|
public string DisplayName { |
||||||
|
get { return displayName; } |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Function that determines if this target framework is available.
|
||||||
|
/// </summary>
|
||||||
|
public Func<bool> IsAvailable { get; set; } |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Supported runtime version string for app.config
|
||||||
|
/// </summary>
|
||||||
|
public string SupportedRuntimeVersion { get; set; } |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Supported SKU string for app.config.
|
||||||
|
/// </summary>
|
||||||
|
public string SupportedSku { get; set; } |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Specifies whether this target framework requires an explicit app.config entry.
|
||||||
|
/// </summary>
|
||||||
|
public bool RequiresAppConfigEntry { get; set; } |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum MSBuild version required to build projects with this target framework.
|
||||||
|
/// </summary>
|
||||||
|
public Version MinimumMSBuildVersion { get; set; } |
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the previous release of this target framework.
|
||||||
|
/// </summary>
|
||||||
|
public TargetFramework BasedOn { get; set; } |
||||||
|
|
||||||
|
public virtual bool IsCompatibleWith(CompilerVersion compilerVersion) |
||||||
|
{ |
||||||
|
return MinimumMSBuildVersion <= compilerVersion.MSBuildVersion; |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsBasedOn(TargetFramework potentialBase) |
||||||
|
{ |
||||||
|
TargetFramework tmp = this; |
||||||
|
while (tmp != null) { |
||||||
|
if (tmp == potentialBase) |
||||||
|
return true; |
||||||
|
tmp = tmp.BasedOn; |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
public override string ToString() |
||||||
|
{ |
||||||
|
return DisplayName; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public class ClientProfileTargetFramework : TargetFramework |
||||||
|
{ |
||||||
|
public TargetFramework FullFramework { get; private set; } |
||||||
|
|
||||||
|
public ClientProfileTargetFramework(TargetFramework fullFramework) |
||||||
|
: base(fullFramework.Name + "Client", fullFramework.DisplayName + " Client Profile") |
||||||
|
{ |
||||||
|
this.FullFramework = fullFramework; |
||||||
|
this.SupportedRuntimeVersion = fullFramework.SupportedRuntimeVersion; |
||||||
|
this.MinimumMSBuildVersion = fullFramework.MinimumMSBuildVersion; |
||||||
|
this.IsAvailable = fullFramework.IsAvailable; |
||||||
|
if (fullFramework.SupportedSku != null) |
||||||
|
this.SupportedSku = fullFramework.SupportedSku + ",Profile=Client"; |
||||||
|
else |
||||||
|
this.SupportedSku = "Client"; |
||||||
|
} |
||||||
|
}*/ |
||||||
|
} |
@ -1,189 +0,0 @@ |
|||||||
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
|
||||||
//
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
|
||||||
// software and associated documentation files (the "Software"), to deal in the Software
|
|
||||||
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
|
||||||
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
|
||||||
// to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
//
|
|
||||||
// The above copyright notice and this permission notice shall be included in all copies or
|
|
||||||
// substantial portions of the Software.
|
|
||||||
//
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
||||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
||||||
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
|
||||||
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
||||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
||||||
// DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using ICSharpCode.SharpDevelop.Project.Converter; |
|
||||||
|
|
||||||
namespace ICSharpCode.SharpDevelop.Project |
|
||||||
{ |
|
||||||
public class TargetFramework |
|
||||||
{ |
|
||||||
public readonly static TargetFramework Net20 = new TargetFramework("v2.0", ".NET Framework 2.0") { |
|
||||||
SupportedRuntimeVersion = "v2.0.50727", |
|
||||||
MinimumMSBuildVersion = new Version(2, 0), |
|
||||||
// .NET 2.0/3.0/3.5 can only be used if .NET 3.5 SP1 is installed
|
|
||||||
IsAvailable = DotnetDetection.IsDotnet35SP1Installed |
|
||||||
}; |
|
||||||
public readonly static TargetFramework Net30 = new TargetFramework("v3.0", ".NET Framework 3.0") { |
|
||||||
SupportedRuntimeVersion = "v2.0.50727", |
|
||||||
BasedOn = Net20, |
|
||||||
MinimumMSBuildVersion = new Version(3, 5) |
|
||||||
}; |
|
||||||
public readonly static TargetFramework Net35 = new TargetFramework("v3.5", ".NET Framework 3.5") { |
|
||||||
SupportedRuntimeVersion = "v2.0.50727", |
|
||||||
BasedOn = Net30, |
|
||||||
MinimumMSBuildVersion = new Version(3, 5) |
|
||||||
}; |
|
||||||
public readonly static TargetFramework Net35Client = new ClientProfileTargetFramework(Net35) { |
|
||||||
RequiresAppConfigEntry = true |
|
||||||
}; |
|
||||||
public readonly static TargetFramework Net40 = new TargetFramework("v4.0", ".NET Framework 4.0") { |
|
||||||
BasedOn = Net35, |
|
||||||
MinimumMSBuildVersion = new Version(4, 0), |
|
||||||
SupportedSku = ".NETFramework,Version=v4.0", |
|
||||||
RequiresAppConfigEntry = true, |
|
||||||
IsAvailable = DotnetDetection.IsDotnet40Installed |
|
||||||
}; |
|
||||||
public readonly static TargetFramework Net40Client = new ClientProfileTargetFramework(Net40) { |
|
||||||
BasedOn = Net35Client |
|
||||||
}; |
|
||||||
public readonly static TargetFramework Net45 = new TargetFramework("v4.5", ".NET Framework 4.5") { |
|
||||||
BasedOn = Net40, |
|
||||||
MinimumMSBuildVersion = new Version(4, 0), |
|
||||||
SupportedRuntimeVersion = "v4.0", |
|
||||||
SupportedSku = ".NETFramework,Version=v4.5", |
|
||||||
RequiresAppConfigEntry = true, |
|
||||||
IsAvailable = DotnetDetection.IsDotnet45Installed |
|
||||||
}; |
|
||||||
public readonly static TargetFramework Net451 = new TargetFramework("v4.5.1", ".NET Framework 4.5.1") { |
|
||||||
BasedOn = Net45, |
|
||||||
MinimumMSBuildVersion = new Version(4, 0), |
|
||||||
SupportedRuntimeVersion = "v4.0", |
|
||||||
SupportedSku = ".NETFramework,Version=v4.5.1", |
|
||||||
RequiresAppConfigEntry = true, |
|
||||||
IsAvailable = DotnetDetection.IsDotnet451Installed |
|
||||||
}; |
|
||||||
|
|
||||||
public readonly static TargetFramework[] TargetFrameworks = { |
|
||||||
Net451, Net45, Net40, Net40Client, Net35, Net35Client, Net30, Net20 |
|
||||||
}; |
|
||||||
|
|
||||||
public readonly static TargetFramework DefaultTargetFramework = Net40Client; |
|
||||||
|
|
||||||
public static TargetFramework GetByName(string name) |
|
||||||
{ |
|
||||||
foreach (TargetFramework tf in TargetFrameworks) { |
|
||||||
if (tf.Name == name) |
|
||||||
return tf; |
|
||||||
} |
|
||||||
throw new ArgumentException("No target framework '" + name + "' exists"); |
|
||||||
} |
|
||||||
|
|
||||||
string name, displayName; |
|
||||||
|
|
||||||
public TargetFramework(string name, string displayName) |
|
||||||
{ |
|
||||||
this.name = name; |
|
||||||
this.displayName = displayName; |
|
||||||
this.SupportedRuntimeVersion = name; |
|
||||||
this.IsAvailable = delegate { |
|
||||||
if (this.BasedOn != null) |
|
||||||
return this.BasedOn.IsAvailable(); |
|
||||||
else |
|
||||||
return true; |
|
||||||
}; |
|
||||||
} |
|
||||||
|
|
||||||
public string Name { |
|
||||||
get { return name; } |
|
||||||
} |
|
||||||
|
|
||||||
public string DisplayName { |
|
||||||
get { return displayName; } |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Function that determines if this target framework is available.
|
|
||||||
/// </summary>
|
|
||||||
public Func<bool> IsAvailable { get; set; } |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Supported runtime version string for app.config
|
|
||||||
/// </summary>
|
|
||||||
public string SupportedRuntimeVersion { get; set; } |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Supported SKU string for app.config.
|
|
||||||
/// </summary>
|
|
||||||
public string SupportedSku { get; set; } |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Specifies whether this target framework requires an explicit app.config entry.
|
|
||||||
/// </summary>
|
|
||||||
public bool RequiresAppConfigEntry { get; set; } |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the minimum MSBuild version required to build projects with this target framework.
|
|
||||||
/// </summary>
|
|
||||||
public Version MinimumMSBuildVersion { get; set; } |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the previous release of this target framework.
|
|
||||||
/// </summary>
|
|
||||||
public TargetFramework BasedOn { get; set; } |
|
||||||
|
|
||||||
public virtual bool IsCompatibleWith(CompilerVersion compilerVersion) |
|
||||||
{ |
|
||||||
return MinimumMSBuildVersion <= compilerVersion.MSBuildVersion; |
|
||||||
} |
|
||||||
|
|
||||||
public bool IsBasedOn(TargetFramework potentialBase) |
|
||||||
{ |
|
||||||
TargetFramework tmp = this; |
|
||||||
while (tmp != null) { |
|
||||||
if (tmp == potentialBase) |
|
||||||
return true; |
|
||||||
tmp = tmp.BasedOn; |
|
||||||
} |
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
public override string ToString() |
|
||||||
{ |
|
||||||
return DisplayName; |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Shows a dialog to pick the target framework.
|
|
||||||
/// This method is called by the UpgradeView 'convert' button to retrieve the actual target framework
|
|
||||||
/// </summary>
|
|
||||||
public virtual TargetFramework PickFramework(IEnumerable<IUpgradableProject> selectedProjects) |
|
||||||
{ |
|
||||||
return this; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public class ClientProfileTargetFramework : TargetFramework |
|
||||||
{ |
|
||||||
public TargetFramework FullFramework { get; private set; } |
|
||||||
|
|
||||||
public ClientProfileTargetFramework(TargetFramework fullFramework) |
|
||||||
: base(fullFramework.Name + "Client", fullFramework.DisplayName + " Client Profile") |
|
||||||
{ |
|
||||||
this.FullFramework = fullFramework; |
|
||||||
this.SupportedRuntimeVersion = fullFramework.SupportedRuntimeVersion; |
|
||||||
this.MinimumMSBuildVersion = fullFramework.MinimumMSBuildVersion; |
|
||||||
this.IsAvailable = fullFramework.IsAvailable; |
|
||||||
if (fullFramework.SupportedSku != null) |
|
||||||
this.SupportedSku = fullFramework.SupportedSku + ",Profile=Client"; |
|
||||||
else |
|
||||||
this.SupportedSku = "Client"; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,35 @@ |
|||||||
|
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||||
|
// software and associated documentation files (the "Software"), to deal in the Software
|
||||||
|
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||||
|
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||||
|
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all copies or
|
||||||
|
// substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||||
|
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
using System; |
||||||
|
|
||||||
|
namespace ICSharpCode.SharpDevelop |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Commonly used version constants.
|
||||||
|
/// </summary>
|
||||||
|
static class Versions |
||||||
|
{ |
||||||
|
public static readonly Version V2_0 = new Version(2, 0); |
||||||
|
public static readonly Version V3_0 = new Version(3, 0); |
||||||
|
public static readonly Version V3_5 = new Version(3, 5); |
||||||
|
public static readonly Version V4_0 = new Version(4, 0); |
||||||
|
public static readonly Version V4_5 = new Version(4, 5); |
||||||
|
public static readonly Version V4_5_1 = new Version(4, 5, 1); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||||
|
// software and associated documentation files (the "Software"), to deal in the Software
|
||||||
|
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||||
|
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||||
|
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all copies or
|
||||||
|
// substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||||
|
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
using System; |
||||||
|
|
||||||
|
namespace ICSharpCode.Core |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Retrieves an object instance by accessing a static field or property
|
||||||
|
/// via System.Reflection.
|
||||||
|
/// </summary>
|
||||||
|
/// <attribute name="class" use="required">
|
||||||
|
/// The fully qualified type name of the class that contains the static field/property.
|
||||||
|
/// </attribute>
|
||||||
|
/// <attribute name="member" use="required">
|
||||||
|
/// The name of the static field or property.
|
||||||
|
/// </attribute>
|
||||||
|
/// <usage>Everywhere where objects are expected.</usage>
|
||||||
|
/// <returns>
|
||||||
|
/// The value of the field/property.
|
||||||
|
/// </returns>
|
||||||
|
public class StaticDoozer : IDoozer |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Gets if the doozer handles codon conditions on its own.
|
||||||
|
/// If this property return false, the item is excluded when the condition is not met.
|
||||||
|
/// </summary>
|
||||||
|
public bool HandleConditions { |
||||||
|
get { |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public object BuildItem(BuildItemArgs args) |
||||||
|
{ |
||||||
|
Codon codon = args.Codon; |
||||||
|
Type type = codon.AddIn.FindType(codon.Properties["class"]); |
||||||
|
if (type == null) |
||||||
|
return null; |
||||||
|
var memberName = codon.Properties["member"]; |
||||||
|
var field = type.GetField(memberName); |
||||||
|
if (field != null) |
||||||
|
return field.GetValue(null); |
||||||
|
var property = type.GetProperty(memberName); |
||||||
|
if (property != null) |
||||||
|
return property.GetValue(null); |
||||||
|
throw new MissingFieldException("Field or property '" + memberName + "' not found in type " + type.FullName); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue