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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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