Merge pull request #3 from xpaulbettsx/mode-selektor
Add class to detect whether we're in various runtime environments
This commit is contained in:
Коммит
ae9fc66b8e
|
@ -1,58 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{252CE1C2-027A-4445-A3C2-E4D6C80A935A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Splat</RootNamespace>
|
||||
<AssemblyName>Splat</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\Net45\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\Net45\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="Splat-Portable.csproj">
|
||||
<Project>{0ec8dba1-d745-4ee5-993a-6026440ec3bf}</Project>
|
||||
<Name>Splat-Portable</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{0EC8DBA1-D745-4EE5-993A-6026440EC3BF}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Splat_Portable</RootNamespace>
|
||||
<AssemblyName>Splat_Portable</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>Profile78</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!-- A reference to the entire .NET Framework is automatically included -->
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -7,9 +7,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Splat-wp8", "Splat\Splat-wp
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Splat-NetCore45", "Splat\Splat-NetCore45.csproj", "{18DCE642-06B7-4092-B8F4-30A675DA6929}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Splat-Net45", "Splat-Net45.csproj", "{252CE1C2-027A-4445-A3C2-E4D6C80A935A}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Splat-Net45", "Splat\Splat-Net45.csproj", "{252CE1C2-027A-4445-A3C2-E4D6C80A935A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Splat-Portable", "Splat-Portable.csproj", "{0EC8DBA1-D745-4EE5-993A-6026440EC3BF}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Splat-Portable", "Splat\Splat-Portable.csproj", "{0EC8DBA1-D745-4EE5-993A-6026440EC3BF}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
using System;
|
||||
|
||||
namespace Splat
|
||||
{
|
||||
public interface IModeDetector
|
||||
{
|
||||
bool? InUnitTestRunner();
|
||||
bool? InDesignMode();
|
||||
}
|
||||
|
||||
public static class ModeDetector
|
||||
{
|
||||
static IModeDetector current { get; set; }
|
||||
|
||||
public static void OverrideModeDetector(IModeDetector modeDetector)
|
||||
{
|
||||
current = modeDetector;
|
||||
}
|
||||
|
||||
public static bool InUnitTestRunner()
|
||||
{
|
||||
var ret = default(bool?);
|
||||
|
||||
if (current != null) {
|
||||
ret = current.InUnitTestRunner();
|
||||
if (ret != null) return ret.Value;
|
||||
}
|
||||
|
||||
// We have no sane platform-independent way to detect a unit test
|
||||
// runner :-/
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool? cachedInDesignModeResult;
|
||||
public static bool InDesignMode()
|
||||
{
|
||||
var ret = default(bool?);
|
||||
|
||||
if (current != null) {
|
||||
ret = current.InDesignMode();
|
||||
if (ret != null) return ret.Value;
|
||||
}
|
||||
|
||||
if (cachedInDesignModeResult != null) return cachedInDesignModeResult.Value;
|
||||
|
||||
// Check Silverlight / WP8 Design Mode
|
||||
var type = Type.GetType("System.ComponentModel.DesignerProperties, System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", false);
|
||||
if (type != null) {
|
||||
var mInfo = type.GetMethod("GetIsInDesignMode");
|
||||
var dependencyObject = Type.GetType("System.Windows.Controls.Border, System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", false);
|
||||
|
||||
if (dependencyObject != null) {
|
||||
cachedInDesignModeResult = (bool)mInfo.Invoke(null, new object[] { Activator.CreateInstance(dependencyObject) });
|
||||
}
|
||||
} else if((type = Type.GetType("System.ComponentModel.DesignerProperties, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", false)) != null) {
|
||||
// loaded the assembly, could be .net
|
||||
var mInfo = type.GetMethod("GetIsInDesignMode");
|
||||
Type dependencyObject = Type.GetType("System.Windows.DependencyObject, WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", false);
|
||||
if (dependencyObject != null) {
|
||||
cachedInDesignModeResult = (bool)mInfo.Invoke(null, new object[] { Activator.CreateInstance(dependencyObject) });
|
||||
}
|
||||
} else if ((type = Type.GetType("Windows.ApplicationModel.DesignMode, Windows, ContentType=WindowsRuntime", false)) != null) {
|
||||
// check WinRT next
|
||||
cachedInDesignModeResult = (bool)type.GetProperty("DesignModeEnabled").GetMethod.Invoke(null, null);
|
||||
} else {
|
||||
cachedInDesignModeResult = false;
|
||||
}
|
||||
|
||||
return cachedInDesignModeResult.GetValueOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
#if SILVERLIGHT
|
||||
using System.Windows;
|
||||
#elif NETFX_CORE
|
||||
using Windows.ApplicationModel;
|
||||
#endif
|
||||
|
||||
namespace Splat
|
||||
{
|
||||
public class PlatformModeDetector : IModeDetector
|
||||
{
|
||||
public bool? InUnitTestRunner()
|
||||
{
|
||||
var testAssemblies = new[] {
|
||||
"CSUNIT",
|
||||
"NUNIT",
|
||||
"XUNIT",
|
||||
"MBUNIT",
|
||||
"PEX.",
|
||||
"NBEHAVE",
|
||||
};
|
||||
|
||||
try {
|
||||
return searchForAssembly(testAssemblies);
|
||||
} catch (Exception) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public bool? InDesignMode()
|
||||
{
|
||||
#if SILVERLIGHT
|
||||
if (Application.Current.RootVisual != null) {
|
||||
return System.ComponentModel.DesignerProperties.GetIsInDesignMode(Application.Current.RootVisual);
|
||||
}
|
||||
#elif NETFX_CORE
|
||||
return DesignMode.DesignModeEnabled;
|
||||
#else
|
||||
var designEnvironments = new[] {
|
||||
"BLEND.EXE",
|
||||
"XDESPROC.EXE",
|
||||
};
|
||||
|
||||
var entry = Assembly.GetEntryAssembly();
|
||||
if (entry != null) {
|
||||
var exeName = (new FileInfo(entry.Location)).Name.ToUpperInvariant();
|
||||
|
||||
if (designEnvironments.Any(x => x.Contains(exeName))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool searchForAssembly(IEnumerable<string> assemblyList)
|
||||
{
|
||||
#if SILVERLIGHT
|
||||
return Deployment.Current.Parts.Any(x => assemblyList.Any(name => x.Source.ToUpperInvariant().Contains(name)));
|
||||
#elif NETFX_CORE
|
||||
var depPackages = Package.Current.Dependencies.Select(x => x.Id.FullName);
|
||||
if (depPackages.Any(x => assemblyList.Any(name => x.ToUpperInvariant().Contains(name)))) return true;
|
||||
|
||||
var fileTask = Task.Factory.StartNew(async () => {
|
||||
var files = await Package.Current.InstalledLocation.GetFilesAsync();
|
||||
return files.Select(x => x.Path).ToArray();
|
||||
}, TaskCreationOptions.HideScheduler).Unwrap();
|
||||
|
||||
return fileTask.Result.Any(x => assemblyList.Any(name => x.ToUpperInvariant().Contains(name)));
|
||||
#else
|
||||
return AppDomain.CurrentDomain.GetAssemblies()
|
||||
.Any(x => assemblyList.Any(name => x.FullName.ToUpperInvariant().Contains(name)));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Splat
|
||||
{
|
||||
internal enum BindingFlags
|
||||
{
|
||||
Public = 1,
|
||||
NonPublic = 1 << 1,
|
||||
Instance = 1 << 2,
|
||||
Static = 1 << 3,
|
||||
FlattenHierarchy = 1 << 4
|
||||
}
|
||||
|
||||
internal static class ReflectionStubs
|
||||
{
|
||||
public static FieldInfo GetField(this Type This, string name, BindingFlags flags = default(BindingFlags))
|
||||
{
|
||||
var ti = This.GetTypeInfo();
|
||||
var ret = ti.GetDeclaredField(name);
|
||||
if (ret != null || !flags.HasFlag(BindingFlags.FlattenHierarchy) || ti.BaseType == null) return ret;
|
||||
|
||||
return ti.BaseType.GetField(name, flags);
|
||||
}
|
||||
|
||||
public static MethodInfo GetMethod(this Type This, string name, BindingFlags flags = default(BindingFlags))
|
||||
{
|
||||
var ti = This.GetTypeInfo();
|
||||
var ret = ti.GetDeclaredMethod(name);
|
||||
if (ret != null || !flags.HasFlag(BindingFlags.FlattenHierarchy) || ti.BaseType == null) return ret;
|
||||
|
||||
return ti.BaseType.GetMethod(name, flags);
|
||||
}
|
||||
|
||||
public static PropertyInfo GetProperty(this Type This, string name, BindingFlags flags = default(BindingFlags))
|
||||
{
|
||||
var ti = This.GetTypeInfo();
|
||||
var ret = ti.GetDeclaredProperty(name);
|
||||
if (ret != null || !flags.HasFlag(BindingFlags.FlattenHierarchy) || ti.BaseType == null) return ret;
|
||||
|
||||
return ti.BaseType.GetProperty(name, flags);
|
||||
}
|
||||
|
||||
public static EventInfo GetEvent(this Type This, string name, BindingFlags flags = default(BindingFlags))
|
||||
{
|
||||
var ti = This.GetTypeInfo();
|
||||
var ret = ti.GetDeclaredEvent(name);
|
||||
if (ret != null || !flags.HasFlag(BindingFlags.FlattenHierarchy) || ti.BaseType == null) return ret;
|
||||
|
||||
return ti.BaseType.GetEvent(name, flags);
|
||||
}
|
||||
|
||||
public static IEnumerable<PropertyInfo> GetProperties(this Type This, BindingFlags flags = default(BindingFlags))
|
||||
{
|
||||
return This.GetTypeInfo().DeclaredProperties;
|
||||
}
|
||||
|
||||
public static IEnumerable<FieldInfo> GetFields(this Type This, BindingFlags flags = default(BindingFlags))
|
||||
{
|
||||
return This.GetTypeInfo().DeclaredFields;
|
||||
}
|
||||
|
||||
|
||||
public static MethodInfo GetMethod(this Type This, string methodName, Type[] paramTypes, BindingFlags flags = default(BindingFlags))
|
||||
{
|
||||
var ti = This.GetTypeInfo();
|
||||
var ret = ti.GetDeclaredMethods(methodName)
|
||||
.FirstOrDefault(x =>
|
||||
{
|
||||
return paramTypes.Zip(x.GetParameters().Select(y => y.ParameterType), (l, r) => l == r).All(y => y != false);
|
||||
});
|
||||
|
||||
if (ret != null || !flags.HasFlag(BindingFlags.FlattenHierarchy) || ti.BaseType == null) return ret;
|
||||
return ti.BaseType.GetMethod(methodName, paramTypes, flags);
|
||||
}
|
||||
|
||||
public static IEnumerable<MethodInfo> GetMethods(this Type This)
|
||||
{
|
||||
return This.GetTypeInfo().DeclaredMethods;
|
||||
}
|
||||
|
||||
public static IEnumerable<object> GetCustomAttributes(this Type This, Type attributeType, bool inherit)
|
||||
{
|
||||
return This.GetTypeInfo().GetCustomAttributes(attributeType, inherit);
|
||||
}
|
||||
|
||||
public static bool IsAssignableFrom(this Type This, Type anotherType)
|
||||
{
|
||||
return This.GetTypeInfo().IsAssignableFrom(anotherType.GetTypeInfo());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,9 +9,9 @@
|
|||
// </autogenerated>
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
[assembly: Android.Runtime.ResourceDesignerAttribute("Splatmonodroid.Resource", IsApplication=false)]
|
||||
[assembly: Android.Runtime.ResourceDesignerAttribute("Splat.Resource", IsApplication=false)]
|
||||
|
||||
namespace Splatmonodroid
|
||||
namespace Splat
|
||||
{
|
||||
|
||||
|
||||
|
|
|
@ -39,8 +39,8 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PlatformModeDetector.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Xaml\Bitmaps.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="Splat-Portable.csproj">
|
||||
|
|
|
@ -101,15 +101,15 @@
|
|||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
|
||||
<ProjectReference Include="..\Splat-Portable.csproj">
|
||||
<Compile Include="PlatformModeDetector.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="Splat-Portable.csproj">
|
||||
<Project>{0ec8dba1-d745-4ee5-993a-6026440ec3bf}</Project>
|
||||
<Name>Splat-Portable</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -1,50 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{0EC8DBA1-D745-4EE5-993A-6026440EC3BF}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Splat_Portable</RootNamespace>
|
||||
<AssemblyName>Splat_Portable</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>Profile78</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!-- A reference to the entire .NET Framework is automatically included -->
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Bitmaps.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{0EC8DBA1-D745-4EE5-993A-6026440EC3BF}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Splat</RootNamespace>
|
||||
<AssemblyName>Splat.Portable</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>Profile78</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\Portable\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\Portable\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!-- A reference to the entire .NET Framework is automatically included -->
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ModeDetector.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ReflectionStubs.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -44,6 +44,8 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Resources\Resource.designer.cs" />
|
||||
<Compile Include="ModeDetector.cs" />
|
||||
<Compile Include="PlatformModeDetector.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\AboutResources.txt" />
|
||||
|
@ -52,4 +54,7 @@
|
|||
<AndroidResource Include="Resources\values\Strings.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="BigKidsCLR\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -40,4 +40,8 @@
|
|||
<Folder Include="Resources\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
<ItemGroup>
|
||||
<Compile Include="ModeDetector.cs" />
|
||||
<Compile Include="PlatformModeDetector.cs" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -83,10 +83,11 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PlatformModeDetector.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Splat-Portable.csproj">
|
||||
<ProjectReference Include="Splat-Portable.csproj">
|
||||
<Project>{0EC8DBA1-D745-4EE5-993A-6026440EC3BF}</Project>
|
||||
<Name>Splat-Portable</Name>
|
||||
</ProjectReference>
|
||||
|
|
Загрузка…
Ссылка в новой задаче