]> O.S.I.I.S - jp/crow.git/commitdiff
Squashed commit devel branch:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 9 Feb 2018 17:46:40 +0000 (18:46 +0100)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Fri, 9 Feb 2018 17:46:40 +0000 (18:46 +0100)
commit 7f91f7c2e83f7cfb2922ea83586f156f03f88a59
Author: Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
Date:   Fri Feb 9 18:13:59 2018 +0100

    go back to OpenTK-2, waiting for an official release

commit 125f32758a584c4976d3536eab3702fd37a8a7a9
Author: Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
Date:   Fri Feb 9 17:26:00 2018 +0100

    LoadInterface replaced by AddWidget overload, [ide] property view item templates in separate template file

commit 7c48cd2f0332d2ec82006edb755fcd37ab1f2b4a
Author: Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
Date:   Fri Feb 9 12:10:13 2018 +0100

    Tooltips, CrowIDE improvements, Fetch subdata when test not eq TypeOf, debug listener in basicTest, RemoveWidget in iface
     modifié :         Crow.ControlsLib/Crow.ControlsLib.csproj
     modifié :         Crow.csproj
     modifié :         Crow.sln
     modifié :         CrowIDE/CrowIDE.csproj
     modifié :         CrowIDE/src/CrowIDE.cs
     modifié :         CrowIDE/src/ImlVisualEditor.cs
     nouveau fichier : CrowIDE/src/Project.cs
     nouveau fichier : CrowIDE/src/Solution.cs
     nouveau fichier : CrowIDE/src/VerticalLine.cs
     nouveau fichier : CrowIDE/ui/ProjectProperties.crow
     nouveau fichier : CrowIDE/ui/ProjectTree.template
     nouveau fichier : CrowIDE/ui/TreeExpandable.template
     modifié :         CrowIDE/ui/imlEditor.crow
     modifié :         Default.style
     nouveau fichier : Icons/assembly.svg
     nouveau fichier : Templates/Tooltip.template
     modifié :         Tests/BasicTests.cs
     modifié :         Tests/HelloWorld.cs
     modifié :         Tests/Interfaces/Divers/0.crow
     modifié :         Tests/Interfaces/Divers/testShape.crow
     modifié :         Tests/Interfaces/Divers/welcome.crow
     modifié :         Tests/Tests.csproj
     modifié :         src/CompilerServices/CompilerServices.cs
     modifié :         src/GraphicObjects/FileDialog.cs
     modifié :         src/GraphicObjects/GraphicObject.cs
     modifié :         src/GraphicObjects/MessageBox.cs
     modifié :         src/Instantiator.cs
     modifié :         src/Interface.cs
     modifié :         src/ItemTemplate.cs

47 files changed:
.nuget/NuGet.config [new file with mode: 0644]
Crow.ControlsLib/Crow.ControlsLib.csproj
Crow.Test/Test.cs
Crow.csproj
Crow.sln
CrowIDE/CrowIDE.csproj
CrowIDE/OpenGL/Extensions.cs [deleted file]
CrowIDE/OpenGL/Shader.cs [deleted file]
CrowIDE/OpenGL/Texture.cs [deleted file]
CrowIDE/OpenGL/vaoMesh.cs [deleted file]
CrowIDE/packages.config [new file with mode: 0644]
CrowIDE/src/CrowIDE.cs
CrowIDE/src/CrowWindow.cs [deleted file]
CrowIDE/src/ImlVisualEditor.cs
CrowIDE/src/InterfaceControler.cs [deleted file]
CrowIDE/src/Microsoft.Build.CommonTypes.cs [deleted file]
CrowIDE/src/Project.cs [new file with mode: 0644]
CrowIDE/src/Solution.cs [new file with mode: 0644]
CrowIDE/src/VerticalLine.cs [new file with mode: 0644]
CrowIDE/ui/MemberView.crow
CrowIDE/ui/MembersItem.template [new file with mode: 0644]
CrowIDE/ui/MembersView.template
CrowIDE/ui/ProjectProperties.crow [new file with mode: 0644]
CrowIDE/ui/ProjectTree.template [new file with mode: 0644]
CrowIDE/ui/TreeExpandable.template [new file with mode: 0644]
CrowIDE/ui/imlEditor.crow
Default.style
Icons/assembly.svg [new file with mode: 0644]
Templates/Tooltip.template [new file with mode: 0644]
Tests/BasicTests.cs
Tests/CrowWindow.cs
Tests/Hello3D.cs
Tests/HelloWorld.cs
Tests/Interfaces/Divers/0.crow
Tests/Interfaces/Divers/testShape.crow
Tests/OpenGL/Extensions.cs
Tests/Tests.csproj
Tests/Tutorials/T3_OpenGLCube.cs
Tests/packages.config
src/CompilerServices/CompilerServices.cs
src/GraphicObjects/FileDialog.cs
src/GraphicObjects/GraphicObject.cs
src/GraphicObjects/MessageBox.cs
src/GraphicObjects/Popper.cs
src/Instantiator.cs
src/Interface.cs
src/ItemTemplate.cs

diff --git a/.nuget/NuGet.config b/.nuget/NuGet.config
new file mode 100644 (file)
index 0000000..9724103
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+       <config>
+               <add key="repositoryPath" value="../packages" />
+       </config>
+</configuration>
index 6309f88efe4ee56797e9ec52a6b6a8d264f827a0..75fd3f14c0c7b8dab7a1e3aa01f7a1fce22635b1 100644 (file)
@@ -6,10 +6,11 @@
     <ProductVersion>8.0.30703</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{6E48BD3D-7B33-4368-AA8A-D878427DAC83}</ProjectGuid>
-    <OutputType>Exe</OutputType>
+    <OutputType>Library</OutputType>
     <RootNamespace>Crow.ControlsLib</RootNamespace>
     <AssemblyName>Crow.ControlsLib</AssemblyName>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.5</ReleaseVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <WarningLevel>4</WarningLevel>
     <ConsolePause>false</ConsolePause>
   </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+<!--    <Reference Include="System.Data" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Drawing" />-->
+    <Reference Include="System.Xml" />
+  </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
     <EmbeddedResource Include="Default.style" />
     <Compile Include="DockingView.cs" />
     <Compile Include="DocksView.cs" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Crow.csproj">
+      <Project>{C2980F9B-4798-4C05-99E2-E174810F7C7B}</Project>
+      <Name>Crow</Name>
+    </ProjectReference>
+  </ItemGroup>
 </Project>
\ No newline at end of file
index c0fa9f59ab00bf42910cecf2694eaa2150ffeedf..e21177f89f376336c68654b8a9c07cf334adab24 100644 (file)
@@ -46,7 +46,7 @@ namespace UnitTest
 
                        foreach (string s in tests) {
                                string fileName = Path.Combine ("Interfaces", s + ".crow");
-                               iface.LoadInterface (fileName);
+                               iface.AddWidget (fileName);
 
                                iface.Update ();
                                iface.Update ();
index 90cc449596f16544570d606c2f33b0f104091e89..a8b47dc80ba1a5e51c1809ee44f397a5e96f21e7 100644 (file)
     <EmbeddedResource Include="Templates\ArrowBut.template" />
     <EmbeddedResource Include="Templates\treeList.template" />
     <EmbeddedResource Include="Templates\CheckBox2.template" />
+    <EmbeddedResource Include="Icons\assembly.svg" />
+    <EmbeddedResource Include="Templates\Tooltip.template">
+      <LogicalName>Crow.Tooltip.template</LogicalName>
+    </EmbeddedResource>
   </ItemGroup>
   <ItemGroup>
     <None Include="Crow.dll.config">
index 9874dbe3e2f72819911e9ac958a470457cb6fb43..70736ea4699658f8c1e19c9668855c431bb50f50 100644 (file)
--- a/Crow.sln
+++ b/Crow.sln
@@ -7,7 +7,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Crow.Test", "Crow.Test\Crow.Test.csproj", "{42C73BD8-51F5-4BB7-8EE9-9F0BE2D80A2C}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Crow.ControlsLib", "Crow.ControlsLib\Crow.ControlsLib.csproj", "{6E48BD3D-7B33-4368-AA8A-D878427DAC83}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrowIDE", "CrowIDE\CrowIDE.csproj", "{B6D911CD-1D09-42FC-B300-9187190F2AE1}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -19,14 +19,14 @@ Global
                {42C73BD8-51F5-4BB7-8EE9-9F0BE2D80A2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {42C73BD8-51F5-4BB7-8EE9-9F0BE2D80A2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {42C73BD8-51F5-4BB7-8EE9-9F0BE2D80A2C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6E48BD3D-7B33-4368-AA8A-D878427DAC83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6E48BD3D-7B33-4368-AA8A-D878427DAC83}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6E48BD3D-7B33-4368-AA8A-D878427DAC83}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6E48BD3D-7B33-4368-AA8A-D878427DAC83}.Release|Any CPU.Build.0 = Release|Any CPU
                {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {74289092-9F70-4941-AFCB-DFD7BE2140B6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Release|Any CPU.Build.0 = Release|Any CPU
                {C2980F9B-4798-4C05-99E2-E174810F7C7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {C2980F9B-4798-4C05-99E2-E174810F7C7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {C2980F9B-4798-4C05-99E2-E174810F7C7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
index c2a44269824d9f382bbe8250605e6f6d212db0b0..6dc82f3ff39fae7ef0c58bdbbe143adff60edd13 100644 (file)
     <StartWorkingDirectory>%24{SolutionDir}\build\%24{ProjectConfigName}</StartWorkingDirectory>
     <ConsolePause>false</ConsolePause>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(RunConfiguration)' == 'Custom Command' ">
+    <StartAction>Program</StartAction>
+    <StartProgram>%24{TargetName}</StartProgram>
+    <StartWorkingDirectory>%24{SolutionDir}\build\%24{ProjectConfigName}</StartWorkingDirectory>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Data" />
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="OpenGL\Shader.cs" />
-    <Compile Include="OpenGL\Texture.cs" />
-    <Compile Include="OpenGL\vaoMesh.cs" />
     <Compile Include="src\CrowIDE.cs" />
     <Compile Include="src\ImlVisualEditor.cs" />
     <Compile Include="src\MembersView.cs" />
     <Compile Include="src\Extensions.cs" />
-    <Compile Include="src\Microsoft.Build.CommonTypes.cs" />
-    <Compile Include="src\CrowWindow.cs" />
-    <Compile Include="src\InterfaceControler.cs" />
-    <Compile Include="OpenGL\Extensions.cs" />
+    <Compile Include="src\Solution.cs" />
+    <Compile Include="src\Project.cs" />
+    <Compile Include="src\VerticalLine.cs" />
+    <Compile Include="..\Tests\OpenGL\Extensions.cs">
+      <Link>src\OpenGL\Extensions.cs</Link>
+    </Compile>
+    <Compile Include="..\Tests\OpenGL\Shader.cs">
+      <Link>src\OpenGL\Shader.cs</Link>
+    </Compile>
+    <Compile Include="..\Tests\OpenGL\Texture.cs">
+      <Link>src\OpenGL\Texture.cs</Link>
+    </Compile>
+    <Compile Include="..\Tests\OpenGL\vaoMesh.cs">
+      <Link>src\OpenGL\vaoMesh.cs</Link>
+    </Compile>
+    <Compile Include="..\Tests\CrowWindow.cs">
+      <Link>src\CrowWindow.cs</Link>
+    </Compile>
+    <Compile Include="..\Tests\InterfaceControler.cs">
+      <Link>src\InterfaceControler.cs</Link>
+    </Compile>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="ui\" />
       <LogicalName>Crow.MenuItem.template</LogicalName>
     </EmbeddedResource>
     <EmbeddedResource Include="ui\CSProjExplorer.crow" />
+    <EmbeddedResource Include="ui\ProjectProperties.crow" />
+    <EmbeddedResource Include="ui\TreeExpandable.template">
+      <LogicalName>Crow.TreeExpandable.template</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ui\ProjectTree.template" />
+    <EmbeddedResource Include="ui\MembersItem.template" />
   </ItemGroup>
   <ItemGroup>
     <None Include="ui\test.crow">
diff --git a/CrowIDE/OpenGL/Extensions.cs b/CrowIDE/OpenGL/Extensions.cs
deleted file mode 100644 (file)
index 7b26f76..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-//  Extensions.cs
-//
-//  Author:
-//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-//  Copyright (c) 2017 jp
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-using System;
-using OpenTK;
-using Crow;
-
-namespace Crow
-{
-       public static partial class Extensions {
-               public static Vector4 ToVector4(this Color c){
-                       float[] f = c.floatArray;
-                       return new Vector4 (f [0], f [1], f [2], f [3]);
-               }
-               public static Vector3 Transform(this Vector3 v, Matrix4 m){
-                       return Vector4.Transform(new Vector4(v, 1), m).Xyz;
-               }
-               public static bool IsInBetween(this int v, int min, int max){
-                       return v >= min & v <= max;
-               }
-
-       }
-}
-
diff --git a/CrowIDE/OpenGL/Shader.cs b/CrowIDE/OpenGL/Shader.cs
deleted file mode 100644 (file)
index 0f355fc..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-//
-//  Shader.cs
-//
-//  Author:
-//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-//  Copyright (c) 2016 jp
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-using System;
-using System.Diagnostics;
-using System.IO;
-using OpenTK;
-using OpenTK.Graphics.OpenGL;
-
-namespace Crow
-{
-       public class Shader : IDisposable
-       {
-               #region CTOR
-               public Shader ()
-               {
-                       Init ();
-               }
-               public Shader (string vertResPath, string fragResPath = null, string geomResPath = null)
-               {
-                       VertSourcePath = vertResPath;
-                       FragSourcePath = fragResPath;
-                       GeomSourcePath = geomResPath;
-
-                       loadSourcesFiles ();
-
-                       Init ();
-               }
-               #endregion
-
-               public string   VertSourcePath,
-                                               FragSourcePath,
-                                               GeomSourcePath;
-               #region Sources
-               protected string _vertSource = @"
-                       #version 330
-                       precision lowp float;
-
-                       uniform mat4 mvp;
-
-                       layout(location = 0) in vec3 in_position;
-                       layout(location = 1) in vec2 in_tex;
-
-                       out vec2 texCoord;
-
-                       void main(void)
-                       {
-                               texCoord = in_tex;
-                               gl_Position = mvp * vec4(in_position, 1.0);
-                       }";
-
-               protected string _fragSource = @"
-                       #version 330
-                       precision lowp float;
-
-                       uniform sampler2D tex;
-
-                       in vec2 texCoord;
-                       out vec4 out_frag_color;
-
-                       void main(void)
-                       {
-                               out_frag_color = texture( tex, texCoord);//vec4(1,0,0,1);
-                       }";
-               string _geomSource = @"";
-//                     #version 330
-//                     layout(triangles) in;
-//                     layout(triangle_strip, max_vertices=3) out;
-//                     void main()
-//                     {
-//                             for(int i=0; i<3; i++)
-//                             {
-//                                     gl_Position = gl_in[i].gl_Position;
-//                                     EmitVertex();
-//                             }
-//                             EndPrimitive();
-//                     }";
-               #endregion
-
-               #region Private and protected fields
-               public int vsId, fsId, gsId, pgmId, mvpLocation;
-
-               Matrix4 mvp = Matrix4.Identity;
-               #endregion
-
-
-               #region Public properties
-               public virtual string vertSource
-               {
-                       get { return _vertSource;}
-                       set { _vertSource = value; }
-               }
-               public virtual string fragSource
-               {
-                       get { return _fragSource;}
-                       set { _fragSource = value; }
-               }
-               public virtual string geomSource
-               {
-                       get { return _geomSource; }
-                       set { _geomSource = value; }
-               }
-
-               public virtual Matrix4 MVP{
-                       set { mvp = value; }
-                       get { return mvp; }
-               }
-               #endregion
-
-               #region Public functions
-               /// <summary>
-               /// configure sources and compile
-               /// </summary>
-               public virtual void Init()
-               {
-                       Compile ();
-               }
-               public void Reload(){
-                       loadSourcesFiles ();
-                       Compile ();
-               }
-               public void SetSource(ShaderType shaderType, string _source){
-                       switch (shaderType) {
-                       case ShaderType.FragmentShader:
-                               fragSource = _source;
-                               return;
-                       case ShaderType.VertexShader:
-                               vertSource = _source;
-                               return;
-                       case ShaderType.GeometryShader:
-                               geomSource = _source;
-                               return;
-                       }
-               }
-               public string GetSource(ShaderType shaderType){
-                       switch (shaderType) {
-                       case ShaderType.FragmentShader:
-                               return fragSource;
-                       case ShaderType.VertexShader:
-                               return vertSource;
-                       case ShaderType.GeometryShader:
-                               return geomSource;
-                       }
-                       return "";
-               }
-               public string GetSourcePath(ShaderType shaderType){
-                       switch (shaderType) {
-                       case ShaderType.FragmentShader:
-                               return FragSourcePath;
-                       case ShaderType.VertexShader:
-                               return VertSourcePath;
-                       case ShaderType.GeometryShader:
-                               return GeomSourcePath;
-                       }
-                       return "";
-               }
-               public virtual void Compile()
-               {
-                       Dispose ();
-
-                       pgmId = GL.CreateProgram();
-
-                       if (!string.IsNullOrEmpty(vertSource))
-                       {
-                               vsId = GL.CreateShader(ShaderType.VertexShader);
-                               compileShader(vsId, vertSource);
-                       }
-                       if (!string.IsNullOrEmpty(fragSource))
-                       {
-                               fsId = GL.CreateShader(ShaderType.FragmentShader);
-                               compileShader(fsId, fragSource);
-
-                       }
-                       if (!string.IsNullOrEmpty(geomSource))
-                       {
-                               gsId = GL.CreateShader(ShaderType.GeometryShader);
-                               compileShader(gsId,geomSource);
-                       }
-
-                       if (vsId != 0)
-                               GL.AttachShader(pgmId, vsId);
-                       if (fsId != 0)
-                               GL.AttachShader(pgmId, fsId);
-                       if (gsId != 0)
-                               GL.AttachShader(pgmId, gsId);
-
-                       BindVertexAttributes ();
-
-                       string info;
-                       GL.LinkProgram(pgmId);
-                       GL.GetProgramInfoLog(pgmId, out info);
-
-                       if (!string.IsNullOrEmpty (info)) {
-                               Debug.WriteLine ("Linkage:");
-                               Debug.WriteLine (info);
-                       }
-
-                       info = null;
-
-                       GL.ValidateProgram(pgmId);
-                       GL.GetProgramInfoLog(pgmId, out info);
-                       if (!string.IsNullOrEmpty (info)) {
-                               Debug.WriteLine ("Validation:");
-                               Debug.WriteLine (info);
-                       }
-
-                       GL.UseProgram (pgmId);
-
-                       GetUniformLocations ();
-                       BindSamplesSlots ();
-
-                       Disable ();
-               }
-
-               protected virtual void BindVertexAttributes()
-               {
-                       GL.BindAttribLocation(pgmId, 0, "in_position");
-                       GL.BindAttribLocation(pgmId, 1, "in_tex");
-               }
-               protected virtual void GetUniformLocations()
-               {
-                       mvpLocation = GL.GetUniformLocation(pgmId, "mvp");
-               }
-               protected virtual void BindSamplesSlots(){
-                       GL.Uniform1(GL.GetUniformLocation (pgmId, "tex"), 0);
-               }
-               public void SetMVP(Matrix4 _mvp){
-                       GL.UniformMatrix4(mvpLocation, false, ref _mvp);
-               }
-               public virtual void Enable(){
-                       GL.UseProgram (pgmId);
-               }
-               public virtual void Disable(){
-                       GL.UseProgram (0);
-               }
-               public static void Enable(Shader s)
-               {
-                       if (s == null)
-                               return;
-                       s.Enable ();
-               }
-               public static void Disable(Shader s)
-               {
-                       if (s == null)
-                               return;
-                       s.Disable ();
-               }
-               #endregion
-
-               void loadSourcesFiles(){
-                       Stream s;
-
-                       if (!string.IsNullOrEmpty (VertSourcePath)) {
-                               s = Crow.Interface.GetStreamFromPath (VertSourcePath);
-                               if (s != null) {
-                                       using (StreamReader sr = new StreamReader (s)) {
-                                               vertSource = sr.ReadToEnd ();
-                                       }
-                               }
-                       }
-
-                       if (!string.IsNullOrEmpty (FragSourcePath)) {
-                               s = Crow.Interface.GetStreamFromPath (FragSourcePath);
-                               if (s != null) {
-                                       using (StreamReader sr = new StreamReader (s)) {
-                                               fragSource = sr.ReadToEnd ();
-                                       }
-                               }
-                       }
-
-                       if (!string.IsNullOrEmpty (GeomSourcePath)) {
-                               s = Crow.Interface.GetStreamFromPath (GeomSourcePath);
-                               if (s != null) {
-                                       using (StreamReader sr = new StreamReader (s)) {
-                                               geomSource = sr.ReadToEnd ();
-                                       }
-                               }
-                       }
-               }
-               void compileShader(int shader, string source)
-               {
-                       GL.ShaderSource(shader, source);
-                       GL.CompileShader(shader);
-
-                       string info;
-                       GL.GetShaderInfoLog(shader, out info);
-                       Debug.WriteLine(info);
-
-                       int compileResult;
-                       GL.GetShader(shader, ShaderParameter.CompileStatus, out compileResult);
-                       if (compileResult != 1)
-                       {
-                               Debug.WriteLine("Compile Error!");
-                               Debug.WriteLine(source);
-                       }
-               }
-               public override string ToString ()
-               {
-                       return string.Format ("{0} {1} {2}", VertSourcePath, FragSourcePath, GeomSourcePath);
-               }
-
-               #region IDisposable implementation
-               public virtual void Dispose ()
-               {
-                       if (GL.IsProgram (pgmId))
-                               GL.DeleteProgram (pgmId);
-
-                       if (GL.IsShader (vsId))
-                               GL.DeleteShader (vsId);
-                       if (GL.IsShader (fsId))
-                               GL.DeleteShader (fsId);
-                       if (GL.IsShader (gsId))
-                               GL.DeleteShader (gsId);
-               }
-               #endregion
-       }
-}
diff --git a/CrowIDE/OpenGL/Texture.cs b/CrowIDE/OpenGL/Texture.cs
deleted file mode 100644 (file)
index e6bec07..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-//  Texture.cs
-//
-//  Author:
-//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-//  Copyright (c) 2016 jp
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-using System;
-using System.Drawing;
-using OpenTK.Graphics.OpenGL;
-using System.Drawing.Imaging;
-using System.IO;
-using System.Diagnostics;
-
-namespace Crow
-{
-    public class Texture
-    {
-       public string Map;
-       public int texRef;
-               public int Width;
-               public int Height;
-
-               public Texture(string _mapPath, bool flipY = true)
-       {
-                       using (Stream s = Interface.GetStreamFromPath (_mapPath)) {
-
-                               try {
-                                       Map = _mapPath;
-
-                                       Bitmap bitmap = new Bitmap (s);
-
-                                       if (flipY)
-                                               bitmap.RotateFlip (RotateFlipType.RotateNoneFlipY);
-
-                                       BitmapData data = bitmap.LockBits (new System.Drawing.Rectangle (0, 0, bitmap.Width, bitmap.Height),
-                                               ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
-
-                                       createTexture (data.Scan0, data.Width, data.Height);
-
-                                       bitmap.UnlockBits (data);
-
-                                       GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.LinearMipmapLinear);
-                                       GL.TexParameter (TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
-
-                                       GL.GenerateMipmap (GenerateMipmapTarget.Texture2D);
-
-                               } catch (Exception ex) {
-                                       Debug.WriteLine ("Error loading texture: " + Map + ":" + ex.Message);
-                               }
-                       }
-               }
-
-               public Texture(int width, int height)
-               {
-                       createTexture (IntPtr.Zero, width, height);
-                       GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
-                       GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
-                       GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Clamp);
-                       GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Clamp);
-               }
-
-               void createTexture(IntPtr data, int width, int height)
-               {
-                       Width = width;
-                       Height = height;
-
-                       GL.GenTextures(1, out texRef);
-                       GL.BindTexture(TextureTarget.Texture2D, texRef);
-                       GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, width, height, 0,
-                               OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data);
-               }
-
-       public static implicit operator int(Texture t)
-       {
-           return t == null ? 0: t.texRef;
-       }
-    }
-
-}
diff --git a/CrowIDE/OpenGL/vaoMesh.cs b/CrowIDE/OpenGL/vaoMesh.cs
deleted file mode 100644 (file)
index c0b2452..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-//
-//  vaoMesh.cs
-//
-//  Author:
-//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-//  Copyright (c) 2016 jp
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-using System;
-using OpenTK;
-using OpenTK.Graphics.OpenGL;
-
-namespace Crow
-{
-       public class vaoMesh : IDisposable
-       {
-               public int vaoHandle,
-               positionVboHandle,
-               texVboHandle,
-               eboHandle;
-
-               public Vector3[] positions;
-               public Vector2[] texCoords;
-               public int[] indices;
-
-               public vaoMesh()
-               {
-               }
-
-               public vaoMesh (Vector3[] _positions, Vector2[] _texCoord, int[] _indices)
-               {
-                       positions = _positions;
-                       texCoords = _texCoord;
-                       indices = _indices;
-
-                       CreateBuffers ();
-               }
-
-               public vaoMesh (float x, float y, float z, float width, float height, float TileX = 1f, float TileY = 1f)
-               {
-                       positions =
-                               new Vector3[] {
-                               new Vector3 (x - width / 2, y + height / 2, z),
-                               new Vector3 (x - width / 2, y - height / 2, z),
-                               new Vector3 (x + width / 2, y + height / 2, z),
-                               new Vector3 (x + width / 2, y - height / 2, z)
-                       };
-                       texCoords =     new Vector2[] {
-                               new Vector2 (0, TileY),
-                               new Vector2 (0, 0),
-                               new Vector2 (TileX, TileY),
-                               new Vector2 (TileX, 0)
-                       };
-                       indices = new int[] { 0, 1, 2, 3 };
-
-                       CreateBuffers ();
-               }
-               public static vaoMesh CreateCube(){
-                       vaoMesh tmp = new vaoMesh ();
-                       tmp.positions = new Vector3[]
-                       {
-                               new Vector3(-1.0f, -1.0f,  -1.0f),
-                               new Vector3( -1.0f, -1.0f,  1.0f),
-                               new Vector3( 1.0f,  -1.0f,  -1.0f),
-                               new Vector3(1.0f,  -1.0f,  1.0f),
-                               new Vector3(1.0f, 1.0f, -1.0f),
-                               new Vector3( 1.0f, 1.0f, 1.0f),
-                               new Vector3( -1.0f,  1.0f, -1.0f),
-                               new Vector3(-1.0f,  1.0f, 1.0f)
-                       };
-                       tmp.indices = new int[]
-                       {
-                               // front face
-                               0, 2, 1, 1, 2, 3,
-                               // top face
-                               2, 4, 3, 3, 4, 5,
-                               // back face
-                               4, 6, 5, 5, 6, 7,
-                               // left face
-                               6, 0, 7, 7, 0, 1,
-                               // bottom face
-                               1, 3, 7, 7, 3, 5,
-                               // right face
-//                             1, 5, 6, 6, 2, 1,
-                       };
-                       tmp.texCoords = new Vector2[]
-                       {
-                               new Vector2(0, 0),
-                               new Vector2(0, 1),
-                               new Vector2(1, 0),
-                               new Vector2(1, 1),
-                               new Vector2(0, 0),
-                               new Vector2(0, 1),
-                               new Vector2(1, 0),
-                               new Vector2(1, 1),
-                       };
-                       tmp.CreateBuffers ();
-                       return tmp;
-//                             Normals = new Vector3[]
-//                             {
-//                                     new Vector3(-1.0f, -1.0f,  1.0f),
-//                                     new Vector3( 1.0f, -1.0f,  1.0f),
-//                                     new Vector3( 1.0f,  1.0f,  1.0f),
-//                                     new Vector3(-1.0f,  1.0f,  1.0f),
-//                                     new Vector3(-1.0f, -1.0f, -1.0f),
-//                                     new Vector3( 1.0f, -1.0f, -1.0f),
-//                                     new Vector3( 1.0f,  1.0f, -1.0f),
-//                                     new Vector3(-1.0f,  1.0f, -1.0f),
-//                             };
-//
-//                             Colors = new int[]
-//                             {
-//                                     Utilities.ColorToRgba32(Color.DarkRed),
-//                                     Utilities.ColorToRgba32(Color.DarkRed),
-//                                     Utilities.ColorToRgba32(Color.Gold),
-//                                     Utilities.ColorToRgba32(Color.Gold),
-//                                     Utilities.ColorToRgba32(Color.DarkRed),
-//                                     Utilities.ColorToRgba32(Color.DarkRed),
-//                                     Utilities.ColorToRgba32(Color.Gold),
-//                                     Utilities.ColorToRgba32(Color.Gold),
-//                             };
-               }
-               public void CreateBuffers(){
-                       CreateVBOs ();
-                       CreateVAOs ();
-               }
-               protected void CreateVBOs()
-               {
-                       positionVboHandle = GL.GenBuffer();
-                       GL.BindBuffer(BufferTarget.ArrayBuffer, positionVboHandle);
-                       GL.BufferData<Vector3>(BufferTarget.ArrayBuffer,
-                               new IntPtr(positions.Length * Vector3.SizeInBytes),
-                               positions, BufferUsageHint.StaticDraw);
-
-                       if (texCoords != null) {
-                               texVboHandle = GL.GenBuffer ();
-                               GL.BindBuffer (BufferTarget.ArrayBuffer, texVboHandle);
-                               GL.BufferData<Vector2> (BufferTarget.ArrayBuffer,
-                                       new IntPtr (texCoords.Length * Vector2.SizeInBytes),
-                                       texCoords, BufferUsageHint.StaticDraw);
-                       }
-
-                       GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
-
-                       if (indices != null) {
-                               eboHandle = GL.GenBuffer ();
-                               GL.BindBuffer (BufferTarget.ElementArrayBuffer, eboHandle);
-                               GL.BufferData (BufferTarget.ElementArrayBuffer,
-                                       new IntPtr (sizeof(uint) * indices.Length),
-                                       indices, BufferUsageHint.StaticDraw);
-                               GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0);
-                       }
-               }
-               protected void CreateVAOs()
-               {
-                       vaoHandle = GL.GenVertexArray();
-                       GL.BindVertexArray(vaoHandle);
-
-                       GL.EnableVertexAttribArray(0);
-                       GL.BindBuffer(BufferTarget.ArrayBuffer, positionVboHandle);
-                       GL.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, true, Vector3.SizeInBytes, 0);
-
-                       if (texCoords != null) {
-                               GL.EnableVertexAttribArray (1);
-                               GL.BindBuffer (BufferTarget.ArrayBuffer, texVboHandle);
-                               GL.VertexAttribPointer (1, 2, VertexAttribPointerType.Float, true, Vector2.SizeInBytes, 0);
-                       }
-                       if (indices != null)
-                               GL.BindBuffer(BufferTarget.ElementArrayBuffer, eboHandle);
-
-                       GL.BindVertexArray(0);
-               }
-
-               public void Render(BeginMode _primitiveType){
-                       GL.BindVertexArray(vaoHandle);
-                       if (indices == null)
-                               GL.DrawArrays (_primitiveType, 0, positions.Length);
-                       else
-                               GL.DrawElements(_primitiveType, indices.Length,
-                                       DrawElementsType.UnsignedInt, IntPtr.Zero);
-                       GL.BindVertexArray (0);
-               }
-               public void Render(BeginMode _primitiveType, int[] _customIndices){
-                       GL.BindVertexArray(vaoHandle);
-                       GL.DrawElements(_primitiveType, _customIndices.Length,
-                               DrawElementsType.UnsignedInt, _customIndices);
-                       GL.BindVertexArray (0);
-               }
-               public void Render(BeginMode _primitiveType, int instances){
-
-                       GL.BindVertexArray(vaoHandle);
-                       GL.DrawElementsInstanced(_primitiveType, indices.Length,
-                               DrawElementsType.UnsignedInt, IntPtr.Zero, instances);
-                       GL.BindVertexArray (0);
-               }
-
-               #region IDisposable implementation
-               public void Dispose ()
-               {
-                       GL.DeleteBuffer (positionVboHandle);
-                       GL.DeleteBuffer (texVboHandle);
-                       GL.DeleteBuffer (eboHandle);
-                       GL.DeleteVertexArray (vaoHandle);
-               }
-               #endregion
-
-       }
-}
\ No newline at end of file
diff --git a/CrowIDE/packages.config b/CrowIDE/packages.config
new file mode 100644 (file)
index 0000000..b371766
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="OpenTK" version="2.0.0" targetFramework="net45" />
+</packages>
\ No newline at end of file
index de082acc0e742a8669942d082fb488a4437ae62e..315f148a7b374b08cad2039e9fa4974d5bb3711e 100644 (file)
@@ -28,23 +28,94 @@ using System.Collections.Generic;
 using System.Collections;
 using System.Xml.Serialization;
 using System.IO;
+using Crow.IML;
+using System.Xml;
+using System.Linq;
 
 namespace CrowIDE
 {
+       public enum ItemType {
+               ReferenceGroup,
+               Reference,
+               ProjectReference,
+               VirtualGroup,
+               Folder,
+               None,
+               Compile,
+               EmbeddedResource,
+       }
+
+       public class ProjectNode {
+               ItemType type;
+               string name;
+
+               public Project Project;
+
+               List<ProjectNode> childNodes = new List<ProjectNode>();
+
+               public virtual ItemType Type {
+                       get { return type; }
+               }
+               public virtual string DisplayName {
+                       get { return name; }
+               }
+               public List<ProjectNode> ChildNodes {
+                       get { return childNodes;        }
+               }
+
+               public void SortChilds () {
+                       foreach (ProjectNode pn in childNodes)
+                               pn.SortChilds ();                       
+                       childNodes = childNodes.OrderBy(c=>c.Type).ThenBy(cn=>cn.DisplayName).ToList();
+               }
+
+               #region CTOR
+               public ProjectNode (Project project, ItemType _type, string _name) : this(project){                     
+                       type = _type;
+                       name = _name;
+               }
+               public ProjectNode (Project project){
+                       Project = project;
+               }
+               #endregion
+       }
+       public class ProjectItem : ProjectNode {
+               public XmlNode node;
+               public string Path {
+                       get {
+                               return node.Attributes["Include"]?.Value.Replace('\\','/');
+                       }
+               }
+               public override ItemType Type {
+                       get { 
+                               return (ItemType)Enum.Parse (typeof(ItemType), node.Name, true);
+                       }
+               }
+               public override string DisplayName {
+                       get { 
+                               return Type == ItemType.Reference ?
+                                       Path :
+                                       Path.Split ('\\', '/').LastOrDefault();
+                       }
+               }
+
+               public ProjectItem (Project project, XmlNode _node) : base (project){
+                       node = _node;
+               }
+       }
+
+
        class CrowIDE : CrowWindow
        {
-               public Command CMDLoad = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("Open"))) { Caption = "Open", Icon = new SvgPicture("#Crow.Icons.open-file.svg")};
                public Command CMDSave = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("Save"))) { Caption = "Save", Icon = new SvgPicture("#Crow.Icons.open-file.svg")};
-               public Command CMDQuit;
 //             public Command CMDSave = new Command(actionOpenFile) { Caption = "Open...", Icon = new SvgPicture("#Crow.Icons.open-file.svg")};
 //             public Command CMDQuit = new Command(actionOpenFile) { Caption = "Open...", Icon = new SvgPicture("#Crow.Icons.open-file.svg")};
                public Command CMDCut = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("Cut"))) { Caption = "Cut", Icon = new SvgPicture("#Crow.Icons.scissors.svg")};
                public Command CMDCopy = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("Copy"))) { Caption = "Copy", Icon = new SvgPicture("#Crow.Icons.copy-file.svg")};
                public Command CMDPaste = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("Paste"))) { Caption = "Paste", Icon = new SvgPicture("#Crow.Icons.paste-on-document.svg")};
                public Command CMDHelp = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("Help"))) { Caption = "Help", Icon = new SvgPicture("#Crow.Icons.question.svg")};
-               public Command CMDViewGTExp;
-               public Command CMDViewProps;
-               public Command CMDViewProj;
+
+               public Command CMDLoad, CMDQuit, CMDViewGTExp, CMDViewProps, CMDViewProj, CMDViewProjProps;
 
                [STAThread]
                static void Main ()
@@ -59,22 +130,105 @@ namespace CrowIDE
                }
                ImlVisualEditor imlVE;
 
+               Instantiator instFileDlg;
+
+               Solution currentSolution;
+               Project currentProject;
+               TreeView tv;
+
+               public IList<Project> Projects { get {return null;}}
+
                protected override void OnLoad (EventArgs e)
                {
                        base.OnLoad (e);
 
+                       ReopenLastSolution = true;
+
+                       instFileDlg = Instantiator.CreateFromImlFragment
+                               ("<FileDialog Caption='Open File' CurrentDirectory='{²CurrentDirectory}' SearchPattern='*.*' OkClicked='onFileOpen'/>");
+
+                       CMDLoad = new Command(new Action(()=>openFileDialog())) { Caption = "Open", Icon = new SvgPicture("#Crow.Icons.open-file.svg")};
                        CMDQuit = new Command(new Action(() => Quit (null, null))) { Caption = "Quit", Icon = new SvgPicture("#Crow.Icons.exit-symbol.svg")};
                        CMDViewGTExp = new Command(new Action(() => loadWindow ("#CrowIDE.ui.GTreeExplorer.crow"))) { Caption = "Graphic Tree Explorer"};
                        CMDViewProps = new Command(new Action(() => loadWindow ("#CrowIDE.ui.MemberView.crow"))) { Caption = "Properties View"};
                        CMDViewProj = new Command(new Action(() => loadWindow ("#CrowIDE.ui.CSProjExplorer.crow"))) { Caption = "Project Explorer"};
-
+                       CMDViewProjProps = new Command(new Action(loadProjProps) ){ Caption = "Project Properties"};
                        this.KeyDown += CrowIDE_KeyDown;
 
                        //this.CrowInterface.LoadInterface ("#CrowIDE.ui.imlEditor.crow").DataSource = this;
                        //GraphicObject go = this.CrowInterface.LoadInterface (@"ui/test.crow");
-                       GraphicObject go = CurrentInterface.LoadInterface (@"#CrowIDE.ui.imlEditor.crow");
+                       GraphicObject go = CurrentInterface.AddWidget (@"#CrowIDE.ui.imlEditor.crow");
                        imlVE = go.FindByName ("crowContainer") as ImlVisualEditor;
                        go.DataSource = this;
+
+                       if (ReopenLastSolution && !string.IsNullOrEmpty(LastOpenSolution))
+                               CurrentSolution = Solution.LoadSolution (LastOpenSolution);
+               }
+
+               void loadProjProps () {
+                       loadWindow ("#CrowIDE.ui.ProjectProperties.crow", currentProject);
+               }
+
+               public string CurrentDirectory {
+                       get { return Crow.Configuration.Get<string>("CurrentDirectory");}
+                       set {
+                               Crow.Configuration.Set ("CurrentDirectory", value);
+                       }
+               }
+               public Solution CurrentSolution {
+                       get { return CurrentSolution; }
+                       set {
+                               if (currentSolution == value)
+                                       return;
+                               currentSolution = value;
+                               NotifyValueChanged ("CurrentSolution", currentSolution);
+                       }
+               }
+               public string LastOpenProject {
+                       get { return Crow.Configuration.Get<string>("LastOpenProject");}
+                       set {
+                               Crow.Configuration.Set ("LastOpenProject", value);
+                       }
+               }
+               public string LastOpenSolution {
+                       get { return Crow.Configuration.Get<string>("LastOpenSolution");}
+                       set {
+                               if (LastOpenSolution == value)
+                                       return;
+                               Crow.Configuration.Set ("LastOpenSolution", value);
+                               NotifyValueChanged ("LastOpenSolution", value);
+                       }
+               }
+               public bool ReopenLastSolution {
+                       get { return Crow.Configuration.Get<bool>("ReopenLastSolution");}
+                       set {
+                               if (ReopenLastSolution == value)
+                                       return;
+                               Crow.Configuration.Set ("ReopenLastSolution", value);
+                               NotifyValueChanged ("ReopenLastSolution", value);
+                       }
+               }
+               void openFileDialog () {                        
+                       AddWidget (instFileDlg.CreateInstance(CurrentInterface)).DataSource = this;
+               }
+
+               public void onFileOpen (object sender, EventArgs e)
+               {
+                       FileDialog fd = sender as FileDialog;
+
+                       string filePath = fd.SelectedFileFullPath;
+
+                       try {
+                               string ext = Path.GetExtension (filePath);
+                               if (string.Equals (ext, ".sln", StringComparison.InvariantCultureIgnoreCase)) {                                 
+                                       CurrentSolution = Solution.LoadSolution (filePath);
+                                       LastOpenSolution = filePath;
+//                             }else if (string.Equals (ext, ".csproj", StringComparison.InvariantCultureIgnoreCase)) {
+//                                     currentProject = new Project (filePath);
+                               }
+                       } catch (Exception ex) {
+                               LoadIMLFragment ("<MessageBox Message='"+ ex.Message + "\n" + "' MsgType='Error'/>");   
+                       }                               
                }
 
                void CrowIDE_KeyDown (object sender, OpenTK.Input.KeyboardKeyEventArgs e)
@@ -92,14 +246,17 @@ namespace CrowIDE
                                loadWindow ("#CrowIDE.ui.CSProjExplorer.crow");
                        }
                }
-               void loadWindow(string path){
+               void loadWindow(string path, object dataSource = null){
                        try {
                                GraphicObject g = CurrentInterface.FindByName (path);
                                if (g != null)
                                        return;
-                               g = CurrentInterface.LoadInterface (path);
+                               g = CurrentInterface.AddWidget (path);
                                g.Name = path;
-                               g.DataSource = imlVE;
+                               if (dataSource == null)
+                                       g.DataSource = imlVE;
+                               else
+                                       g.DataSource = dataSource;
                        } catch (Exception ex) {
                                System.Diagnostics.Debug.WriteLine (ex.ToString ());
                        }
diff --git a/CrowIDE/src/CrowWindow.cs b/CrowIDE/src/CrowWindow.cs
deleted file mode 100644 (file)
index d4447a1..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-//
-// CrowWindow.cs
-//
-// Author:
-//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// 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.Threading;
-using OpenTK;
-using OpenTK.Graphics.OpenGL;
-using System.Collections.Generic;
-
-namespace Crow
-{
-       public class CrowWindow : GameWindow, IValueChange
-    {
-               #region IValueChange implementation
-               public event EventHandler<ValueChangeEventArgs> ValueChanged;
-               public virtual void NotifyValueChanged(string MemberName, object _value)
-               {
-                       if (ValueChanged != null)
-                               ValueChanged.Invoke(this, new ValueChangeEventArgs(MemberName, _value));
-               }
-               #endregion
-
-               #region FPS
-               int frameCpt = 0;
-               int _fps = 0;
-
-               public int fps {
-                       get { return _fps; }
-                       set {
-                               if (_fps == value)
-                                       return;
-
-                               _fps = value;
-                               #if MEASURE_TIME
-                               if (_fps > fpsMax) {
-                                       fpsMax = _fps;
-                                       ValueChanged.Raise(this, new ValueChangeEventArgs ("fpsMax", fpsMax));
-                               } else if (_fps < fpsMin) {
-                                       fpsMin = _fps;
-                                       ValueChanged.Raise(this, new ValueChangeEventArgs ("fpsMin", fpsMin));
-                               }
-                               #endif
-                               if (frameCpt % 3 == 0) {
-                                       ValueChanged.Raise (this, new ValueChangeEventArgs ("fps", _fps));
-                                       #if MEASURE_TIME
-                                       foreach (PerformanceMeasure m in ifaceControl[0].PerfMeasures)
-                                               m.NotifyChanges ();
-                                       #endif
-                               }
-                       }
-               }
-
-               #if MEASURE_TIME
-               public PerformanceMeasure glDrawMeasure = new PerformanceMeasure("OpenGL Draw", 10);
-
-               public int fpsMin = int.MaxValue;
-               public int fpsMax = 0;
-
-               void resetFps ()
-               {
-                       fpsMin = int.MaxValue;
-                       fpsMax = 0;
-                       _fps = 0;
-               }
-               #endif
-
-               #endregion
-
-               #region ctor
-               public CrowWindow(int _width = 800, int _height = 600, string _title="Crow",
-                       int colors = 32, int depth = 24, int stencil = 0, int samples = 1,
-                       int major=3, int minor=3)
-                       : this(_width, _height, new OpenTK.Graphics.GraphicsMode(colors, depth, stencil, samples),
-                               _title,GameWindowFlags.Default,DisplayDevice.Default,
-                               major,minor,OpenTK.Graphics.GraphicsContextFlags.Default)
-               {
-               }
-               public CrowWindow (int width, int height, OpenTK.Graphics.GraphicsMode mode, string title, GameWindowFlags options, DisplayDevice device, int major, int minor, OpenTK.Graphics.GraphicsContextFlags flags)
-                       : base(width,height,mode,title,options,device,major,minor,flags)
-               {
-               }
-
-               #endregion
-
-               protected Shader shader;
-               public List<InterfaceControler> ifaceControl = new List<InterfaceControler>();
-               int focusedIdx = -1, activeIdx = -2;
-
-               // TODO:We should be able to set the current interface programmaticaly
-               /// <summary>
-               /// Gets the currently focused interface, focus could have been given by creation of new iface controler and
-               /// not only by the mouse
-               /// </summary>
-               public Interface CurrentInterface {
-                       get {
-                               if (ifaceControl.Count == 0) {//create default orthogonal interface
-                                       addInterfaceControler (new InterfaceControler (
-                                               new Rectangle (0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height)));
-                                       focusedIdx = 0;
-                               }
-                               return ifaceControl [focusedIdx].CrowInterface;
-                       }
-               }
-                       
-               void addInterfaceControler(InterfaceControler ifaceControler)
-               {
-                       ifaceControler.CrowInterface.Quit += Quit;
-                       ifaceControler.CrowInterface.MouseCursorChanged += CrowInterface_MouseCursorChanged;
-
-                       ifaceControl.Add (ifaceControler);
-                       focusedIdx = ifaceControl.Count - 1;
-               }
-               void openGLDraw(){
-                       //save GL states
-                       bool blend, depthTest, cullFace;
-                       GL.GetBoolean (GetPName.Blend, out blend);
-                       GL.GetBoolean (GetPName.DepthTest, out depthTest);
-                       GL.GetBoolean (GetPName.CullFace, out cullFace);
-                       GL.Enable (EnableCap.Blend);
-                       GL.Disable (EnableCap.DepthTest);
-                       GL.Disable (EnableCap.CullFace);
-
-                       #if MEASURE_TIME
-                       glDrawMeasure.StartCycle();
-                       #endif
-
-                       shader.Enable ();
-                       for (int i = 0; i < ifaceControl.Count; i++) {
-                               shader.SetMVP (ifaceControl [i].InterfaceMVP);
-                               ifaceControl [i].OpenGLDraw ();
-                       }
-
-                       #if MEASURE_TIME
-                       glDrawMeasure.StopCycle();
-                       #endif
-
-                       //restore GL states
-                       if (!blend)
-                               GL.Disable (EnableCap.Blend);
-                       if (depthTest)
-                               GL.Enable (EnableCap.DepthTest);
-                       if (cullFace)
-                               GL.Enable (EnableCap.CullFace);
-               }
-
-               public void Quit (object sender, EventArgs e)
-               {
-                       foreach (InterfaceControler ic in ifaceControl) {
-                               ic.Dispose ();
-                       }
-                       this.Exit ();
-               }
-               void CrowInterface_MouseCursorChanged (object sender, MouseCursorChangedEventArgs e)
-               {
-                       this.Cursor = new MouseCursor(
-                               (int)e.NewCursor.Xhot,
-                               (int)e.NewCursor.Yhot,
-                               (int)e.NewCursor.Width,
-                               (int)e.NewCursor.Height,
-                               e.NewCursor.data);
-               }
-
-               #region Events
-               //those events are raised only if mouse isn't in a graphic object
-               public event EventHandler<OpenTK.Input.MouseWheelEventArgs> CrowMouseWheel;
-               public event EventHandler<OpenTK.Input.MouseButtonEventArgs> CrowMouseUp;
-               public event EventHandler<OpenTK.Input.MouseButtonEventArgs> CrowMouseDown;
-               public event EventHandler<OpenTK.Input.MouseButtonEventArgs> CrowMouseClick;
-               public event EventHandler<OpenTK.Input.MouseMoveEventArgs> CrowMouseMove;
-               public event EventHandler<OpenTK.Input.KeyboardKeyEventArgs> CrowKeyDown;
-               public event EventHandler<OpenTK.Input.KeyboardKeyEventArgs> CrowKeyUp;
-
-               #endregion
-
-               public ProjectiveIFaceControler Add3DInterface(int width, int height, Matrix4 ifaceModelMat){
-                       ProjectiveIFaceControler tmp = new ProjectiveIFaceControler (new Rectangle (0, 0, width, height), ifaceModelMat);
-                       addInterfaceControler (tmp);
-                       return tmp;
-               }
-               public GraphicObject AddWidget (GraphicObject g, int interfaceIdx = 0){
-                       if (ifaceControl.Count == 0)//create default orthogonal interface
-                               addInterfaceControler (new InterfaceControler (
-                                       new Rectangle (0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height)));
-                       ifaceControl [interfaceIdx].CrowInterface.AddWidget (g);
-                       return g;
-               }
-
-               public void DeleteWidget (GraphicObject g, int interfaceIdx = 0){
-                       ifaceControl [interfaceIdx].CrowInterface.DeleteWidget (g);
-               }
-               /// <summary>
-               /// check if a default interface exists, create one if not
-               /// </summary>
-               void checkDefaultIFace (){
-                       if (ifaceControl.Count == 0)//create default orthogonal interface
-                               addInterfaceControler (new InterfaceControler (
-                                       new Rectangle (0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height)));                        
-               }
-               /// <summary>
-               /// Load the content of the IML file pointed by path and add it to the current interface
-               /// graphic tree.
-               /// </summary>
-               /// <param name="path">the path of the IML file to load</param>
-               /// <param name="interfaceIdx">interface index to bind to, a default one is created if none exists</param>
-               public GraphicObject Load (string path, int interfaceIdx = 0){
-                       checkDefaultIFace();
-                       return ifaceControl [interfaceIdx].CrowInterface.LoadInterface (path);
-               }
-               /// <summary>
-               /// Load the content of the IML string passed as first argument and add it to the current interface
-               /// graphic tree.
-               /// </summary>
-               /// <param name="path">a valid IML string</param>
-               /// <param name="interfaceIdx">interface index to bind to, a default one is created if none exists</param>
-               public void LoadIMLFragment (string imlFragment, int interfaceIdx = 0){
-                       checkDefaultIFace();
-                       ifaceControl [interfaceIdx].CrowInterface.LoadIMLFragment (imlFragment);
-               }
-
-               public GraphicObject FindByName (string nameToFind){
-                       for (int i = 0; i < ifaceControl.Count; i++) {
-                               GraphicObject tmp = ifaceControl [i].CrowInterface.FindByName (nameToFind);
-                               if (tmp != null)
-                                       return tmp;
-                       }
-                       return null;
-               }
-               public void ClearInterface (int interfaceIdx = 0){
-                       ifaceControl [interfaceIdx].CrowInterface.ClearInterface ();
-               }
-               /// <summary>Override this method for your OpenGL rendering calls</summary>
-               public virtual void OnRender(FrameEventArgs e)
-               {
-               }
-               /// <summary>Override this method to customize clear method between frames</summary>
-               public virtual void GLClear()
-               {
-                       GL.Clear (ClearBufferMask.ColorBufferBit|ClearBufferMask.DepthBufferBit);
-               }
-
-               #region Game win overrides
-               protected override void OnLoad(EventArgs e)
-               {
-                       base.OnLoad(e);
-
-                       this.KeyPress += new EventHandler<OpenTK.KeyPressEventArgs>(OpenTKGameWindow_KeyPress);
-                       KeyDown += new EventHandler<OpenTK.Input.KeyboardKeyEventArgs>(Keyboard_KeyDown);
-                       KeyUp += new EventHandler<OpenTK.Input.KeyboardKeyEventArgs>(Keyboard_KeyUp);
-
-                       MouseWheel += new EventHandler<OpenTK.Input.MouseWheelEventArgs>(GL_Mouse_WheelChanged);
-                       MouseDown += new EventHandler<OpenTK.Input.MouseButtonEventArgs>(GL_Mouse_ButtonDown);
-                       MouseUp += new EventHandler<OpenTK.Input.MouseButtonEventArgs>(GL_Mouse_ButtonUp);
-                       MouseMove += new EventHandler<OpenTK.Input.MouseMoveEventArgs>(GL_Mouse_Move);
-
-                       #if DEBUG
-                       Console.WriteLine("\n\n*************************************");
-                       Console.WriteLine("GL version: " + GL.GetString (StringName.Version));
-                       Console.WriteLine("GL vendor: " + GL.GetString (StringName.Vendor));
-                       Console.WriteLine("GLSL version: " + GL.GetString (StringName.ShadingLanguageVersion));
-                       Console.WriteLine("*************************************\n");
-                       #endif
-
-                       shader = new Shader ();
-                       shader.Enable ();
-
-                       GL.ClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-               }
-               protected override void OnUpdateFrame(FrameEventArgs e)
-               {
-                       base.OnUpdateFrame(e);
-                       fps = (int)RenderFrequency;
-
-                       #if MEASURE_TIME
-                       if (frameCpt > 500) {
-                               resetFps ();
-                               frameCpt = 0;
-//                             #if DEBUG
-//                             GC.Collect();
-//                             GC.WaitForPendingFinalizers();
-//                             NotifyValueChanged("memory", GC.GetTotalMemory (false).ToString());
-//                             #endif
-                       }
-                       #endif
-
-                       frameCpt++;
-               }
-               protected override void OnRenderFrame(FrameEventArgs e)
-               {
-                       GLClear ();
-
-                       base.OnRenderFrame(e);
-
-                       OnRender (e);
-                       openGLDraw ();
-
-
-                       SwapBuffers ();
-               }
-               protected override void OnResize(EventArgs e)
-               {
-                       base.OnResize (e);
-                       for (int i = 0; i < ifaceControl.Count; i++) {
-                               ifaceControl[i].ProcessResize(
-                                       new Rectangle(
-                                               0,
-                                               0,
-                                               this.ClientRectangle.Width,
-                                               this.ClientRectangle.Height));
-                       }
-               }
-               #endregion
-
-               #region Mouse and Keyboard Handling
-               void update_mouseButtonStates(ref MouseState e, OpenTK.Input.MouseState otk_e){
-                       for (int i = 0; i < MouseState.MaxButtons; i++) {
-                               if (otk_e.IsButtonDown ((OpenTK.Input.MouseButton)i))
-                                       e.EnableBit (i);
-                       }
-               }
-               protected virtual void GL_Mouse_Move(object sender, OpenTK.Input.MouseMoveEventArgs otk_e)
-        {
-                       if (activeIdx == -2) {
-                               focusedIdx = -1;
-                               for (int i = 0; i < ifaceControl.Count; i++) {
-                                       if (ifaceControl [i].ProcessMouseMove (otk_e.X, otk_e.Y)) {
-                                               focusedIdx = i;
-                                               return;
-                                       }
-                               }
-                       } else if (focusedIdx >= 0) {
-                               ifaceControl [focusedIdx].ProcessMouseMove (otk_e.X, otk_e.Y);
-                               return;
-                       }
-                       if (focusedIdx < 0)
-                               CrowMouseMove.Raise (sender, otk_e);
-        }
-               protected virtual void GL_Mouse_ButtonUp(object sender, OpenTK.Input.MouseButtonEventArgs otk_e)
-        {
-                       activeIdx = -2;
-                       if (focusedIdx >= 0) {
-                               if (ifaceControl [focusedIdx].ProcessMouseButtonUp ((int)otk_e.Button))
-                                       return;
-                       }
-                       CrowMouseUp.Raise (sender, otk_e);
-        }
-               protected virtual void GL_Mouse_ButtonDown(object sender, OpenTK.Input.MouseButtonEventArgs otk_e)
-               {
-                       activeIdx = focusedIdx;
-                       if (focusedIdx >= 0) {
-                               if (ifaceControl [focusedIdx].ProcessMouseButtonDown ((int)otk_e.Button))
-                                       return;
-                       }
-                       CrowMouseDown.Raise (sender, otk_e);
-        }
-               protected virtual void GL_Mouse_WheelChanged(object sender, OpenTK.Input.MouseWheelEventArgs otk_e)
-        {
-                       if (focusedIdx >= 0) {
-                               if (ifaceControl [focusedIdx].ProcessMouseWheelChanged (otk_e.DeltaPrecise))
-                                       return;
-                       }
-                       CrowMouseWheel.Raise (sender, otk_e);
-        }
-
-               protected virtual void Keyboard_KeyDown(object sender, OpenTK.Input.KeyboardKeyEventArgs otk_e)
-               {
-                       if (focusedIdx >= 0) {
-                               if (ifaceControl [focusedIdx].ProcessKeyDown((int)otk_e.Key))
-                                       return;
-                       }
-                       CrowKeyDown.Raise (this, otk_e);
-        }
-               protected virtual void Keyboard_KeyUp(object sender, OpenTK.Input.KeyboardKeyEventArgs otk_e)
-               {
-                       if (focusedIdx >= 0) {
-                               if (ifaceControl [focusedIdx].ProcessKeyUp((int)otk_e.Key))
-                                       return;
-                       }
-                       CrowKeyUp.Raise (this, otk_e);
-               }
-               protected virtual void OpenTKGameWindow_KeyPress (object sender, OpenTK.KeyPressEventArgs e)
-               {
-                       if (focusedIdx >= 0) {
-                               if (ifaceControl [focusedIdx].ProcessKeyPress (e.KeyChar))
-                                       return;
-                       }
-                       //TODO:create keyboardkeypress evt
-               }
-        #endregion
-    }
-}
index 49a20a641d4639f2793b9ab8fadb0bf5f039ef00..9c51338f3cc0e5395b08f41c427bff3fd3e8127e 100644 (file)
@@ -41,7 +41,6 @@ namespace CrowIDE
                }
                #endregion
 
-               string imlPath;
                Interface imlVE;
                Instantiator itor;
                string imlSource;
@@ -99,19 +98,33 @@ namespace CrowIDE
                }
                [XmlAttributeAttribute][DefaultValue("")]
                public string ImlPath {
-                       get { return imlPath; }
+                       get { return projectItem?.Path; }
+               }
+               ProjectItem projectItem;
+               Project project;
+
+               [XmlAttributeAttribute]
+               public Project Project {
+                       get { return project; }
+                       set { project = value;  }
+               }
+               [XmlAttributeAttribute]
+               public ProjectNode ProjectNode {
+                       get { return projectItem; }
                        set {
-                               if (imlPath == value)
+                               if (projectItem == value)
                                        return;
 
-                               imlPath = value;
+                               if (!(value is ProjectItem))
+                                       return;
+
+                               projectItem = value as ProjectItem;
 
-                               NotifyValueChanged ("ImlPath", imlPath);
+                               NotifyValueChanged ("ImlPath", ImlPath);
 
                                reloadFromPath ();
                        }
                }
-
                public List<GraphicObject> GraphicTree {
                        get { return imlVE.GraphicTree; }
                }
@@ -146,12 +159,13 @@ namespace CrowIDE
                        reload_iTor (iTmp);
                }
                void reloadFromPath(){
-                       if (!File.Exists (imlPath)){
-                               System.Diagnostics.Debug.WriteLine ("Path not found: " + imlPath);
+                       string path = Path.Combine (projectItem?.Project.RootDir,projectItem?.Path);
+                       if (!File.Exists (path)){
+                               System.Diagnostics.Debug.WriteLine ("Path not found: " + path);
                                reload_iTor (null);
                                return;
                        }
-                       using (StreamReader sr = new StreamReader (imlPath)) {
+                       using (StreamReader sr = new StreamReader (path)) {
                                ImlSource = sr.ReadToEnd ();
                        }
                        NotifyValueChanged ("GraphicTree", null);
diff --git a/CrowIDE/src/InterfaceControler.cs b/CrowIDE/src/InterfaceControler.cs
deleted file mode 100644 (file)
index 5098e11..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-//
-// InterfaceControler.cs
-//
-// Author:
-//       Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// 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 OpenTK;
-using OpenTK.Graphics.OpenGL;
-using System.Threading;
-using System.Collections.Generic;
-
-namespace Crow
-{
-       public class ProjectiveIFaceControler : InterfaceControler {
-               Matrix4 modelview;
-               int[] viewport = new int[4];
-               Vector3 vEyePosition;
-
-               public Matrix4 ifaceModelMat;
-               Point localMousePos;
-
-               public ProjectiveIFaceControler(Rectangle ifaceBounds, Matrix4 _ifaceModelMat)
-                       : base(ifaceBounds){
-                       ifaceModelMat = _ifaceModelMat;
-               }
-
-               public override Matrix4 InterfaceMVP {
-                       get { return ifaceModelMat * modelview * projection; }
-               }
-
-               public override void initGL(){
-                       quad = new Crow.vaoMesh (0, 0, 0, 1, 1, 1, -1);
-                       //ifaceModelMat = Matrix4.CreateRotationX(MathHelper.PiOver2) * Matrix4.CreateTranslation(Vector3.UnitY);
-                       CrowInterface.ProcessResize(iRect);
-                       createContext ();
-                       //CrowInterface.ProcessResize (iRect);
-               }
-               public override void ProcessResize (Rectangle newSize)
-               {
-               }
-               public override void OpenGLDraw ()
-               {
-                       GL.Enable (EnableCap.DepthTest);
-                       base.OpenGLDraw ();
-                       GL.Disable (EnableCap.DepthTest);
-               }
-               public void UpdateView (Matrix4 _projection, Matrix4 _modelview, int[] _viewport, Vector3 _vEyePosition)
-               {
-                       projection = _projection;
-                       modelview = _modelview;
-                       viewport = _viewport;
-                       vEyePosition = _vEyePosition;
-               }
-               public override bool ProcessMouseMove (int x, int y)
-               {
-                       Matrix4 mv = ifaceModelMat * modelview;
-                       Vector3 vMouse = UnProject(ref projection, ref mv, viewport, new Vector2 (x, y)).Xyz;
-                       Vector3 vE = vEyePosition.Transform (ifaceModelMat.Inverted());
-                       Vector3 vMouseRay = Vector3.Normalize(vMouse - vE);
-                       float a = vE.Z / vMouseRay.Z;
-                       vMouse = vE - vMouseRay * a;
-                       //vMouse = vMouse.Transform (interfaceModelView.Inverted());
-                       localMousePos = new Point ((int)Math.Truncate ((vMouse.X + 0.5f) * iRect.Width),
-                               iRect.Height - (int)Math.Truncate ((vMouse.Y + 0.5f) * iRect.Height));
-                       mouseIsInInterface = localMousePos.X.IsInBetween (0, iRect.Width) & localMousePos.Y.IsInBetween (0, iRect.Height);
-
-                       return mouseIsInInterface ? CrowInterface.ProcessMouseMove (localMousePos.X, localMousePos.Y) : false;
-               }
-               Vector4 UnProject(ref Matrix4 projection, ref Matrix4 view, int[] viewport, Vector2 mouse)
-               {
-                       Vector4 vec;
-
-                       vec.X = 2.0f * mouse.X / (float)viewport[2] - 1;
-                       vec.Y = -(2.0f * mouse.Y / (float)viewport[3] - 1);
-                       vec.Z = 0f;
-                       vec.W = 1.0f;
-
-                       Matrix4 viewInv = Matrix4.Invert(view);
-                       Matrix4 projInv = Matrix4.Invert(projection);
-
-                       Vector4.Transform(ref vec, ref projInv, out vec);
-                       Vector4.Transform(ref vec, ref viewInv, out vec);
-
-                       if (vec.W > float.Epsilon || vec.W < float.Epsilon)
-                       {
-                               vec.X /= vec.W;
-                               vec.Y /= vec.W;
-                               vec.Z /= vec.W;
-                       }
-
-                       return vec;
-               }
-       }
-       public class InterfaceControler : IDisposable {
-               public Interface CrowInterface;
-               public int texID;
-               public vaoMesh quad;
-               public Rectangle iRect = new Rectangle(0,0,2048,2048);
-               public bool mouseIsInInterface = false;
-
-               protected Matrix4 projection;
-               public virtual Matrix4 InterfaceMVP {
-                       get { return projection; }
-               }
-
-               #if MEASURE_TIME
-               public List<PerformanceMeasure> PerfMeasures;
-               public PerformanceMeasure glDrawMeasure = new PerformanceMeasure("OpenGL Draw", 10);
-               #endif
-
-               #region CTOR
-               public InterfaceControler(Rectangle ifaceBounds){
-                       iRect = ifaceBounds;
-
-                       CrowInterface = new Interface ();
-
-                       #if MEASURE_TIME
-                       PerfMeasures = new List<PerformanceMeasure> (
-                               new PerformanceMeasure[] {
-                                       this.CrowInterface.updateMeasure,
-                                       this.CrowInterface.layoutingMeasure,
-                                       this.CrowInterface.clippingMeasure,
-                                       this.CrowInterface.drawingMeasure,
-                                       this.glDrawMeasure
-                               }
-                       );
-                       #endif
-
-                       Thread t = new Thread (interfaceThread);
-                       t.IsBackground = true;
-                       t.Start ();
-
-                       initGL ();
-               }
-               #endregion
-
-               void interfaceThread()
-               {
-                       while (CrowInterface.ClientRectangle.Size.Width == 0)
-                               Thread.Sleep (5);
-
-                       while (true) {
-                               CrowInterface.Update ();
-                               Thread.Sleep (2);
-                       }
-               }
-
-               #region Mouse And Keyboard handling
-               public virtual void ProcessResize(Rectangle newSize){
-                       iRect = newSize;
-                       CrowInterface.ProcessResize(newSize);
-                       createContext ();
-                       GL.Viewport (0, 0, newSize.Width, newSize.Height);//TODO:find a better place for this
-               }
-               public virtual bool ProcessMouseMove(int x, int y){
-                       return CrowInterface.ProcessMouseMove (x, y);
-               }
-               public virtual bool ProcessMouseButtonUp(int button)
-               {
-                       return CrowInterface.ProcessMouseButtonUp (button);
-               }
-               public virtual bool ProcessMouseButtonDown(int button)
-               {
-                       return CrowInterface.ProcessMouseButtonDown (button);
-               }
-               public virtual bool ProcessMouseWheelChanged(float delta)
-               {
-                       return CrowInterface.ProcessMouseWheelChanged (delta);
-               }
-               public virtual bool ProcessKeyDown(int Key){
-                       return CrowInterface.ProcessKeyDown(Key);
-               }
-               public virtual bool ProcessKeyUp(int Key){
-                       return CrowInterface.ProcessKeyUp(Key);
-               }
-               public virtual bool ProcessKeyPress(char Key){
-                       return CrowInterface.ProcessKeyPress(Key);
-               }
-               #endregion
-
-               #region graphic context
-               public virtual void initGL(){
-                       projection = OpenTK.Matrix4.CreateOrthographicOffCenter (-0.5f, 0.5f, -0.5f, 0.5f, 1, -1);
-                       quad = new Crow.vaoMesh (0, 0, 0, 1, 1, 1, -1);
-                       createContext ();
-               }
-               /// <summary>Create the texture for the interface redering</summary>
-               public virtual void createContext()
-               {
-                       if (GL.IsTexture(texID))
-                               GL.DeleteTexture (texID);
-                       GL.GenTextures(1, out texID);
-                       GL.ActiveTexture (TextureUnit.Texture0);
-                       GL.BindTexture(TextureTarget.Texture2D, texID);
-
-                       GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba,
-                               iRect.Width, iRect.Height, 0,
-                               OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, CrowInterface.bmp);
-
-                       GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
-                       GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
-
-                       GL.BindTexture(TextureTarget.Texture2D, 0);
-               }
-               /// <summary>Rendering of the interface</summary>
-               public virtual void OpenGLDraw()
-               {
-                       #if MEASURE_TIME
-                       glDrawMeasure.StartCycle();
-                       #endif
-
-                       GL.ActiveTexture (TextureUnit.Texture0);
-                       GL.BindTexture (TextureTarget.Texture2D, texID);
-                       if (Monitor.TryEnter(CrowInterface.RenderMutex)) {
-                               if (CrowInterface.IsDirty) {
-                                       GL.TexSubImage2D (TextureTarget.Texture2D, 0,
-                                               CrowInterface.DirtyRect.Left, CrowInterface.DirtyRect.Top,
-                                               CrowInterface.DirtyRect.Width, CrowInterface.DirtyRect.Height,
-                                               OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, CrowInterface.dirtyBmp);
-                                       CrowInterface.IsDirty = false;
-                               }
-                               Monitor.Exit (CrowInterface.RenderMutex);
-                       }
-                       quad.Render (BeginMode.TriangleStrip);
-                       GL.BindTexture(TextureTarget.Texture2D, 0);
-
-                       #if MEASURE_TIME
-                       glDrawMeasure.StopCycle();
-                       #endif
-               }
-               #endregion
-
-               #region IDisposable implementation
-
-               public void Dispose ()
-               {
-                       if (GL.IsTexture(texID))
-                               GL.DeleteTexture (texID);
-                       if (quad != null)
-                               quad.Dispose ();
-               }
-
-               #endregion
-       }
-}
-
diff --git a/CrowIDE/src/Microsoft.Build.CommonTypes.cs b/CrowIDE/src/Microsoft.Build.CommonTypes.cs
deleted file mode 100644 (file)
index 7477ffe..0000000
+++ /dev/null
@@ -1,8572 +0,0 @@
-// ------------------------------------------------------------------------------
-//  <autogenerated>
-//      This code was generated by a tool.
-//      Mono Runtime Version: 4.0.30319.42000
-// 
-//      Changes to this file may cause incorrect behavior and will be lost if 
-//      the code is regenerated.
-//  </autogenerated>
-// ------------------------------------------------------------------------------
-
-// 
-//This source code was auto-generated by MonoXSD
-//
-namespace CrowMSBuild {
-    
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class Project {
-        
-        private PropertyGroup[] propertyGroupField;
-        
-        private ItemGroup[] itemGroupField;
-        
-        private ChooseType[] chooseField;
-        
-        private WarningErrorOutsideTargetType[] errorField;
-        
-        private WarningErrorOutsideTargetType[] warningField;
-        
-        private MessageOutsideTargetType[] messageField;
-        
-        private UsingTaskType[] usingTaskField;
-        
-        private System.Xml.XmlNode[] projectExtensionsField;
-        
-        private TargetType targetField;
-        
-        private ImportType importField;
-        
-        private PropertyGroup[] propertyGroup1Field;
-        
-        private ItemGroup[] itemGroup1Field;
-        
-        private ChooseType[] choose1Field;
-        
-        private WarningErrorOutsideTargetType[] error1Field;
-        
-        private WarningErrorOutsideTargetType[] warning1Field;
-        
-        private MessageOutsideTargetType[] message1Field;
-        
-        private UsingTaskType[] usingTask1Field;
-        
-        private TargetType[] target1Field;
-        
-        private ImportType[] import1Field;
-        
-        private System.Xml.XmlNode[] projectExtensions1Field;
-        
-        private string defaultTargetsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("PropertyGroup")]
-        public PropertyGroup[] PropertyGroups {
-            get {
-                return this.propertyGroupField;
-            }
-            set {
-                this.propertyGroupField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemGroup")]
-        public ItemGroup[] ItemGroups {
-            get {
-                return this.itemGroupField;
-            }
-            set {
-                this.itemGroupField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Choose")]
-        public ChooseType[] Choose {
-            get {
-                return this.chooseField;
-            }
-            set {
-                this.chooseField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Error")]
-        public WarningErrorOutsideTargetType[] Error {
-            get {
-                return this.errorField;
-            }
-            set {
-                this.errorField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Warning")]
-        public WarningErrorOutsideTargetType[] Warning {
-            get {
-                return this.warningField;
-            }
-            set {
-                this.warningField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Message")]
-        public MessageOutsideTargetType[] Message {
-            get {
-                return this.messageField;
-            }
-            set {
-                this.messageField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("UsingTask")]
-        public UsingTaskType[] UsingTask {
-            get {
-                return this.usingTaskField;
-            }
-            set {
-                this.usingTaskField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ProjectExtensions")]
-        public System.Xml.XmlNode[] ProjectExtensions {
-            get {
-                return this.projectExtensionsField;
-            }
-            set {
-                this.projectExtensionsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute()]
-        public TargetType Target {
-            get {
-                return this.targetField;
-            }
-            set {
-                this.targetField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute()]
-        public ImportType Import {
-            get {
-                return this.importField;
-            }
-            set {
-                this.importField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DefaultTargets {
-            get {
-                return this.defaultTargetsField;
-            }
-            set {
-                this.defaultTargetsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class PropertyGroup {
-        
-        private StringPropertyType[] itemsField;
-        
-        private ItemsChoiceType[] itemsElementNameField;
-        
-        private string conditionField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("AllowUnsafeBlocks", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AppDesignerFolder", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ApplicationIcon", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ApplicationRevision", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ApplicationVersion", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AssemblyKeyContainerName", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AssemblyKeyProviderName", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AssemblyName", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AssemblyOriginatorKeyFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AssemblyOriginatorKeyFileType", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AssemblyOriginatorKeyMode", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AssemblyType", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("AutorunEnabled", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("BaseAddress", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("BootstrapperComponentsLocation", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("BootstrapperComponentsUrl", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("BootstrapperEnabled", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("CheckForOverflowUnderflow", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("CodePage", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("Configuration", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ConfigurationOverrideFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("CreateWebPageOnPublish", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DebugSecurityZoneURL", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DebugSymbols", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DebugType", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DefaultClientScript", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DefaultHTMLPageLayout", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DefaultTargetSchema", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DefineConstants", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DefineDebug", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DefineTrace", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DelaySign", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DeployDirSuffix", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DisableLangXtns", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DisallowUrlActiviation", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("DocumentationFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("EnableASPDebugging", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("EnableASPXDebugging", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("EnableSQLServerDebugging", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("EnableSecurityDebugging", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("EnableUnmanagedDebugging", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ErrorReport", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ExcludedPermissions", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("FallbackCulture", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("FileAlignment", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("FileUpgradeFlags", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("FormFactorID", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("FxCopLogFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("FxCopProjectFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("FxCopRules", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("GenerateManifests", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("GenerateSerializationAssemblies", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("Install", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("InstallFrom", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("InstallUrl", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("IsWebBootstrapper", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("JCPA", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("LangVersion", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ManifestCertificateThumbprint", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ManifestKeyFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("MapFileExtensions", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("MinimumRequiredVersion", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("MyType", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("NoConfig", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("NoStandardLibraries", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("NoStdLib", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("NoWarn", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("OSVersion", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("OpenBrowserOnPublish", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("Optimize", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("OptionCompare", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("OptionExplicit", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("OptionStrict", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("OutputPath", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("OutputType", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("Platform", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("PlatformFamilyName", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("PlatformID", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("PlatformTarget", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("PostBuildEvent", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("PreBuildEvent", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ProductName", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ProductVersion", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ProjectGuid", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ProjectType", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ProjectTypeGuids", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("PublishUrl", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("PublisherName", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RecursePath", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ReferencePath", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RegisterForComInterop", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RemoteDebugEnabled", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RemoteDebugMachine", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RemoveIntegerChecks", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("ResponseFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RootNamespace", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RunFxCop", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("RunPostBuildEvent", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("SchemaVersion", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("SecureScoping", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("SignAssembly", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("SignManifests", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartAction", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartArguments", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartPage", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartProgram", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartURL", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartWithIE", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartWorkingDirectory", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("StartupObject", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("SupportUrl", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("TargetCulture", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("TargetZone", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("TreatWarningsAsErrors", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("TrustUrlParameters", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("TypeComplianceDiagnostics", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UTF8OutPut", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateEnabled", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateInterval", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateIntervalUnits", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateMode", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdatePeriodically", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateRequired", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateUrl", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("UseVSHostingProcess", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("VSTO_TrustAssembliesLocation", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("WarningLevel", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("WarningsAsErrors", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("WebPage", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlElementAttribute("Win32ResourceFile", typeof(StringPropertyType))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public StringPropertyType[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("AllowUnsafeBlocks", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class StringPropertyType {
-        
-        private string conditionField;
-        
-        private string valueField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlTextAttribute()]
-        public string Value {
-            get {
-                return this.valueField;
-            }
-            set {
-                this.valueField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class GenericPropertyType {
-        
-        private System.Xml.XmlNode[] anyField;
-        
-        private string conditionField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlTextAttribute()]
-        [System.Xml.Serialization.XmlAnyElementAttribute()]
-        public System.Xml.XmlNode[] Any {
-            get {
-                return this.anyField;
-            }
-            set {
-                this.anyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class ImportType {
-        
-        private string conditionField;
-        
-        private string projectField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Project {
-            get {
-                return this.projectField;
-            }
-            set {
-                this.projectField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class UsingTaskType {
-        
-        private string conditionField;
-        
-        private string assemblyNameField;
-        
-        private string assemblyFileField;
-        
-        private string taskNameField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyName {
-            get {
-                return this.assemblyNameField;
-            }
-            set {
-                this.assemblyNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyFile {
-            get {
-                return this.assemblyFileField;
-            }
-            set {
-                this.assemblyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TaskName {
-            get {
-                return this.taskNameField;
-            }
-            set {
-                this.taskNameField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class WarningErrorOutsideTargetType {
-        
-        private string conditionField;
-        
-        private string textField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Text {
-            get {
-                return this.textField;
-            }
-            set {
-                this.textField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class MessageOutsideTargetType {
-        
-        private string conditionField;
-        
-        private string importanceField;
-        
-        private string textField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Importance {
-            get {
-                return this.importanceField;
-            }
-            set {
-                this.importanceField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Text {
-            get {
-                return this.textField;
-            }
-            set {
-                this.textField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class OtherwiseType {
-        
-        private object[] itemsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Choose", typeof(ChooseType))]
-        [System.Xml.Serialization.XmlElementAttribute("ItemGroup", typeof(ItemGroup))]
-        [System.Xml.Serialization.XmlElementAttribute("PropertyGroup", typeof(PropertyGroup))]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class ChooseType {
-        
-        private WhenType[] whenField;
-        
-        private OtherwiseType otherwiseField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("When")]
-        public WhenType[] When {
-            get {
-                return this.whenField;
-            }
-            set {
-                this.whenField = value;
-            }
-        }
-        
-        /// <remarks/>
-        public OtherwiseType Otherwise {
-            get {
-                return this.otherwiseField;
-            }
-            set {
-                this.otherwiseField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class WhenType {
-        
-        private object[] itemsField;
-        
-        private string conditionField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Choose", typeof(ChooseType))]
-        [System.Xml.Serialization.XmlElementAttribute("ItemGroup", typeof(ItemGroup))]
-        [System.Xml.Serialization.XmlElementAttribute("PropertyGroup", typeof(PropertyGroup))]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class ItemGroup {
-        
-        private SimpleItemType[] itemsField;
-        
-        private ItemsChoiceType12[] itemsElementNameField;
-        
-        private string conditionField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("BootstrapperFile", typeof(ItemGroupTypeItemBootstrapperFile))]
-        [System.Xml.Serialization.XmlElementAttribute("COMFileReference", typeof(ItemGroupTypeItemCOMFileReference))]
-        [System.Xml.Serialization.XmlElementAttribute("COMReference", typeof(ItemGroupTypeItemCOMReference))]
-        [System.Xml.Serialization.XmlElementAttribute("Compile", typeof(ItemGroupTypeItemCompile))]
-        [System.Xml.Serialization.XmlElementAttribute("Content", typeof(ItemGroupTypeItemContent))]
-        [System.Xml.Serialization.XmlElementAttribute("EmbeddedResource", typeof(ItemGroupTypeItemEmbeddedResource))]
-        [System.Xml.Serialization.XmlElementAttribute("Folder", typeof(SimpleItemType))]
-        [System.Xml.Serialization.XmlElementAttribute("Import", typeof(SimpleItemType))]
-        [System.Xml.Serialization.XmlElementAttribute("NativeReference", typeof(ItemGroupTypeItemNativeReference))]
-        [System.Xml.Serialization.XmlElementAttribute("None", typeof(ItemGroupTypeItemNone))]
-        [System.Xml.Serialization.XmlElementAttribute("ProjectReference", typeof(ItemGroupTypeItemProjectReference))]
-        [System.Xml.Serialization.XmlElementAttribute("PublishFile", typeof(ItemGroupTypeItemPublishFile))]
-        [System.Xml.Serialization.XmlElementAttribute("Reference", typeof(ItemGroupTypeItemReference))]
-        [System.Xml.Serialization.XmlElementAttribute("Service", typeof(SimpleItemType))]
-        [System.Xml.Serialization.XmlElementAttribute("WebReferenceUrl", typeof(ItemGroupTypeItemWebReferenceUrl))]
-        [System.Xml.Serialization.XmlElementAttribute("WebReferences", typeof(SimpleItemType))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public SimpleItemType[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType12[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("BootstrapperFile", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemBootstrapperFile : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType10[] itemsElementNameField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("InProject", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Install", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("ProductName", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType10[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType10 {
-        
-        /// <remarks/>
-        InProject,
-        
-        /// <remarks/>
-        Install,
-        
-        /// <remarks/>
-        ProductName,
-    }
-    
-    /// <remarks/>
-    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GenericItemType))]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Item", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class SimpleItemType {
-        
-        private string conditionField;
-        
-        private string includeField;
-        
-        private string excludeField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Include {
-            get {
-                return this.includeField;
-            }
-            set {
-                this.includeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Exclude {
-            get {
-                return this.excludeField;
-            }
-            set {
-                this.excludeField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class GenericItemType : SimpleItemType {
-        
-        private System.Xml.XmlElement anyField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAnyElementAttribute()]
-        public System.Xml.XmlElement Any {
-            get {
-                return this.anyField;
-            }
-            set {
-                this.anyField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("COMFileReference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemCOMFileReference : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("WrapperTool")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("COMReference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemCOMReference : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType2[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Guid", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Isolated", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Lcid", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Name", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("VersionMajor", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("VersionMinor", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("WrapperTool", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType2[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-//        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType2 {
-        
-        /// <remarks/>
-        Guid,
-        
-        /// <remarks/>
-        Isolated,
-        
-        /// <remarks/>
-        Lcid,
-        
-        /// <remarks/>
-        Name,
-        
-        /// <remarks/>
-        VersionMajor,
-        
-        /// <remarks/>
-        VersionMinor,
-        
-        /// <remarks/>
-        WrapperTool,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Compile", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemCompile : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType5[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("AutoGen", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("DependentUpon", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("DesignTime", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("DesignTimeSharedInput", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("InProject", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Link", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("SubType", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType5[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-//        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType5 {
-        
-        /// <remarks/>
-        AutoGen,
-        
-        /// <remarks/>
-        DependentUpon,
-        
-        /// <remarks/>
-        DesignTime,
-        
-        /// <remarks/>
-        DesignTimeSharedInput,
-        
-        /// <remarks/>
-        InProject,
-        
-        /// <remarks/>
-        Link,
-        
-        /// <remarks/>
-        SubType,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Content", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemContent : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType7[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("CopyToOutputDirectory", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("CustomToolNamespace", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("DependentUpon", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Generator", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Group", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("InProject", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("IsAssembly", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("LastGenOutput", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Link", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("PublishState", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("SubType", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType7[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType7 {
-        
-        /// <remarks/>
-        CopyToOutputDirectory,
-        
-        /// <remarks/>
-        CustomToolNamespace,
-        
-        /// <remarks/>
-        DependentUpon,
-        
-        /// <remarks/>
-        Generator,
-        
-        /// <remarks/>
-        Group,
-        
-        /// <remarks/>
-        InProject,
-        
-        /// <remarks/>
-        IsAssembly,
-        
-        /// <remarks/>
-        LastGenOutput,
-        
-        /// <remarks/>
-        Link,
-        
-        /// <remarks/>
-        PublishState,
-        
-        /// <remarks/>
-        SubType,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("EmbeddedResource", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemEmbeddedResource : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType6[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("CustomToolNamespace", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("DependentUpon", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Generator", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("InProject", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("LastGenOutput", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Link", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("SubType", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType6[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType6 {
-        
-        /// <remarks/>
-        CustomToolNamespace,
-        
-        /// <remarks/>
-        DependentUpon,
-        
-        /// <remarks/>
-        Generator,
-        
-        /// <remarks/>
-        InProject,
-        
-        /// <remarks/>
-        LastGenOutput,
-        
-        /// <remarks/>
-        Link,
-        
-        /// <remarks/>
-        SubType,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("NativeReference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemNativeReference : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType3[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("HintPath", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Name", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType3[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType3 {
-        
-        /// <remarks/>
-        HintPath,
-        
-        /// <remarks/>
-        Name,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("None", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemNone : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType8[] itemsElementNameField;
-        
-        /// <remarks/>
-               [System.Xml.Serialization.XmlElementAttribute("CopyToOutputDirectory", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("CustomToolNamespace", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("DependentUpon", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Generator", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("InProject", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("LastGenOutput", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Link", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType8[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType8 {
-               CopyToOutputDirectory,
-        /// <remarks/>
-        CustomToolNamespace,
-        
-        /// <remarks/>
-        DependentUpon,
-        
-        /// <remarks/>
-        Generator,
-        
-        /// <remarks/>
-        InProject,
-        
-        /// <remarks/>
-        LastGenOutput,
-        
-        /// <remarks/>
-        Link,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ProjectReference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemProjectReference : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType4[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Name", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Package", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Project", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType4[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType4 {
-        
-        /// <remarks/>
-        Name,
-        
-        /// <remarks/>
-        Package,
-        
-        /// <remarks/>
-        Project,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("PublishFile", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemPublishFile : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType11[] itemsElementNameField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Group", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("InProject", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("IsAssembly", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("PublishState", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType11[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType11 {
-        
-        /// <remarks/>
-        Group,
-        
-        /// <remarks/>
-        InProject,
-        
-        /// <remarks/>
-        IsAssembly,
-        
-        /// <remarks/>
-        PublishState,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Reference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemReference : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType1[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Aliases", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("FusionName", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("HintPath", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Name", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("Private", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("SpecificVersion", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType1[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType1 {
-        
-        /// <remarks/>
-        Aliases,
-        
-        /// <remarks/>
-        FusionName,
-        
-        /// <remarks/>
-        HintPath,
-        
-        /// <remarks/>
-        Name,
-        
-        /// <remarks/>
-        Private,
-        
-        /// <remarks/>
-        SpecificVersion,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("WebReferenceUrl", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class ItemGroupTypeItemWebReferenceUrl : SimpleItemType {
-        
-        private object[] itemsField;
-        
-        private ItemsChoiceType9[] itemsElementNameField;
-        
-        private string include1Field;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("CachedAppSettingsObjectName", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("CachedDynamicPropName", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("CachedSettingsPropName", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("RelPath", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("ServiceLocationURL", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateFromURL", typeof(object))]
-        [System.Xml.Serialization.XmlElementAttribute("UrlBehavior", typeof(object))]
-        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
-        public object[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
-        [System.Xml.Serialization.XmlIgnoreAttribute()]
-        public ItemsChoiceType9[] ItemsElementName {
-            get {
-                return this.itemsElementNameField;
-            }
-            set {
-                this.itemsElementNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-//        [System.Xml.Serialization.XmlAttributeAttribute("Include")]
-//        public string Include1 {
-//            get {
-//                return this.include1Field;
-//            }
-//            set {
-//                this.include1Field = value;
-//            }
-//        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType9 {
-        
-        /// <remarks/>
-        CachedAppSettingsObjectName,
-        
-        /// <remarks/>
-        CachedDynamicPropName,
-        
-        /// <remarks/>
-        CachedSettingsPropName,
-        
-        /// <remarks/>
-        RelPath,
-        
-        /// <remarks/>
-        ServiceLocationURL,
-        
-        /// <remarks/>
-        UpdateFromURL,
-        
-        /// <remarks/>
-        UrlBehavior,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType12 {
-        
-        /// <remarks/>
-        BootstrapperFile,
-        
-        /// <remarks/>
-        COMFileReference,
-        
-        /// <remarks/>
-        COMReference,
-        
-        /// <remarks/>
-        Compile,
-        
-        /// <remarks/>
-        Content,
-        
-        /// <remarks/>
-        EmbeddedResource,
-        
-        /// <remarks/>
-        Folder,
-        
-        /// <remarks/>
-        Import,
-        
-        /// <remarks/>
-        NativeReference,
-        
-        /// <remarks/>
-        None,
-        
-        /// <remarks/>
-        ProjectReference,
-        
-        /// <remarks/>
-        PublishFile,
-        
-        /// <remarks/>
-        Reference,
-        
-        /// <remarks/>
-        Service,
-        
-        /// <remarks/>
-        WebReferenceUrl,
-        
-        /// <remarks/>
-        WebReferences,
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class OnErrorType {
-        
-        private string conditionField;
-        
-        private string executeTargetsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ExecuteTargets {
-            get {
-                return this.executeTargetsField;
-            }
-            set {
-                this.executeTargetsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class TargetType {
-        
-        private TaskType[] itemsField;
-        
-        private OnErrorType[] onErrorField;
-        
-        private string nameField;
-        
-        private string dependsOnTargetsField;
-        
-        private string inputsField;
-        
-        private string outputsField;
-        
-        private string conditionField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("AL", typeof(TargetTypeAL))]
-        [System.Xml.Serialization.XmlElementAttribute("AspNetCompiler", typeof(TargetTypeAspNetCompiler))]
-        [System.Xml.Serialization.XmlElementAttribute("AssignCulture", typeof(TargetTypeAssignCulture))]
-        [System.Xml.Serialization.XmlElementAttribute("AssignTargetPath", typeof(TargetTypeAssignTargetPath))]
-        [System.Xml.Serialization.XmlElementAttribute("Copy", typeof(TargetTypeCopy))]
-        [System.Xml.Serialization.XmlElementAttribute("CreateCSharpManifestResourceName", typeof(TargetTypeCreateCSharpManifestResourceName))]
-        [System.Xml.Serialization.XmlElementAttribute("CreateItem", typeof(TargetTypeCreateItem))]
-        [System.Xml.Serialization.XmlElementAttribute("CreateJSharpManifestResourceName", typeof(TargetTypeCreateJSharpManifestResourceName))]
-        [System.Xml.Serialization.XmlElementAttribute("CreateProperty", typeof(TargetTypeCreateProperty))]
-        [System.Xml.Serialization.XmlElementAttribute("CreateVisualBasicManifestResourceName", typeof(TargetTypeCreateVisualBasicManifestResourceName))]
-        [System.Xml.Serialization.XmlElementAttribute("Csc", typeof(TargetTypeCsc))]
-        [System.Xml.Serialization.XmlElementAttribute("Delete", typeof(TargetTypeDelete))]
-        [System.Xml.Serialization.XmlElementAttribute("Error", typeof(TargetTypeError))]
-        [System.Xml.Serialization.XmlElementAttribute("Exec", typeof(TargetTypeExec))]
-        [System.Xml.Serialization.XmlElementAttribute("FindUnderPath", typeof(TargetTypeFindUnderPath))]
-        [System.Xml.Serialization.XmlElementAttribute("FormatUrl", typeof(TargetTypeFormatUrl))]
-        [System.Xml.Serialization.XmlElementAttribute("FormatVersion", typeof(TargetTypeFormatVersion))]
-        [System.Xml.Serialization.XmlElementAttribute("FxCop", typeof(TargetTypeFxCop))]
-        [System.Xml.Serialization.XmlElementAttribute("GenerateApplicationManifest", typeof(TargetTypeGenerateApplicationManifest))]
-        [System.Xml.Serialization.XmlElementAttribute("GenerateBootstrapper", typeof(TargetTypeGenerateBootstrapper))]
-        [System.Xml.Serialization.XmlElementAttribute("GenerateDeploymentManifest", typeof(TargetTypeGenerateDeploymentManifest))]
-        [System.Xml.Serialization.XmlElementAttribute("GenerateResource", typeof(TargetTypeGenerateResource))]
-        [System.Xml.Serialization.XmlElementAttribute("GenerateTrustInfo", typeof(TargetTypeGenerateTrustInfo))]
-        [System.Xml.Serialization.XmlElementAttribute("GetAssemblyIdentity", typeof(TargetTypeGetAssemblyIdentity))]
-        [System.Xml.Serialization.XmlElementAttribute("GetFrameworkPath", typeof(TargetTypeGetFrameworkPath))]
-        [System.Xml.Serialization.XmlElementAttribute("GetFrameworkSdkPath", typeof(TargetTypeGetFrameworkSdkPath))]
-        [System.Xml.Serialization.XmlElementAttribute("GetLinkedFilesFromResX", typeof(TargetTypeGetLinkedFilesFromResX))]
-        [System.Xml.Serialization.XmlElementAttribute("LC", typeof(TargetTypeLC))]
-        [System.Xml.Serialization.XmlElementAttribute("MSBuild", typeof(TargetTypeMSBuild))]
-        [System.Xml.Serialization.XmlElementAttribute("MakeDir", typeof(TargetTypeMakeDir))]
-        [System.Xml.Serialization.XmlElementAttribute("Message", typeof(TargetTypeMessage))]
-        [System.Xml.Serialization.XmlElementAttribute("ReadLinesFromFile", typeof(TargetTypeReadLinesFromFile))]
-        [System.Xml.Serialization.XmlElementAttribute("RegisterAssembly", typeof(TargetTypeRegisterAssembly))]
-        [System.Xml.Serialization.XmlElementAttribute("RemoveDir", typeof(TargetTypeRemoveDir))]
-        [System.Xml.Serialization.XmlElementAttribute("RemoveDuplicates", typeof(TargetTypeRemoveDuplicates))]
-        [System.Xml.Serialization.XmlElementAttribute("ResGen", typeof(TargetTypeResGen))]
-        [System.Xml.Serialization.XmlElementAttribute("ResolveAssemblyReference", typeof(TargetTypeResolveAssemblyReference))]
-        [System.Xml.Serialization.XmlElementAttribute("ResolveComReference", typeof(TargetTypeResolveComReference))]
-        [System.Xml.Serialization.XmlElementAttribute("ResolveKeySource", typeof(TargetTypeResolveKeySource))]
-        [System.Xml.Serialization.XmlElementAttribute("ResolveManifestFiles", typeof(TargetTypeResolveManifestFiles))]
-        [System.Xml.Serialization.XmlElementAttribute("ResolveNativeReference", typeof(TargetTypeResolveNativeReference))]
-        [System.Xml.Serialization.XmlElementAttribute("ResolveVCProjectOutput", typeof(TargetTypeResolveVCProjectOutput))]
-        [System.Xml.Serialization.XmlElementAttribute("SGen", typeof(TargetTypeSGen))]
-        [System.Xml.Serialization.XmlElementAttribute("SignFile", typeof(TargetTypeSignFile))]
-        [System.Xml.Serialization.XmlElementAttribute("Task", typeof(TaskType))]
-        [System.Xml.Serialization.XmlElementAttribute("Touch", typeof(TargetTypeTouch))]
-        [System.Xml.Serialization.XmlElementAttribute("UnregisterAssembly", typeof(TargetTypeUnregisterAssembly))]
-        [System.Xml.Serialization.XmlElementAttribute("UpdateManifest", typeof(TargetTypeUpdateManifest))]
-        [System.Xml.Serialization.XmlElementAttribute("VCBuild", typeof(TargetTypeVCBuild))]
-        [System.Xml.Serialization.XmlElementAttribute("Vbc", typeof(TargetTypeVbc))]
-        [System.Xml.Serialization.XmlElementAttribute("Vjc", typeof(TargetTypeVjc))]
-        [System.Xml.Serialization.XmlElementAttribute("VjsResGen", typeof(TargetTypeVjsResGen))]
-        [System.Xml.Serialization.XmlElementAttribute("Warning", typeof(TargetTypeWarning))]
-        [System.Xml.Serialization.XmlElementAttribute("WriteLinesToFile", typeof(TargetTypeWriteLinesToFile))]
-        public TaskType[] Items {
-            get {
-                return this.itemsField;
-            }
-            set {
-                this.itemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("OnError")]
-        public OnErrorType[] OnError {
-            get {
-                return this.onErrorField;
-            }
-            set {
-                this.onErrorField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Name {
-            get {
-                return this.nameField;
-            }
-            set {
-                this.nameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DependsOnTargets {
-            get {
-                return this.dependsOnTargetsField;
-            }
-            set {
-                this.dependsOnTargetsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Inputs {
-            get {
-                return this.inputsField;
-            }
-            set {
-                this.inputsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Outputs {
-            get {
-                return this.outputsField;
-            }
-            set {
-                this.outputsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("AL", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeAL : TaskType {
-        
-        private string outputAssemblyField;
-        
-        private string algorithmIdField;
-        
-        private string baseAddressField;
-        
-        private string companyNameField;
-        
-        private string configurationField;
-        
-        private string copyrightField;
-        
-        private string cultureField;
-        
-        private string delaySignField;
-        
-        private string descriptionField;
-        
-        private string embedResourcesField;
-        
-        private string evidenceFileField;
-        
-        private string fileVersionField;
-        
-        private string flagsField;
-        
-        private string generateFullPathsField;
-        
-        private string keyContainerField;
-        
-        private string keyFileField;
-        
-        private string linkResourcesField;
-        
-        private string mainEntryPointField;
-        
-        private string platformField;
-        
-        private string productNameField;
-        
-        private string productVersionField;
-        
-        private string responseFilesField;
-        
-        private string sourceModulesField;
-        
-        private string targetTypeField;
-        
-        private string templateFileField;
-        
-        private string timeoutField;
-        
-        private string titleField;
-        
-        private string toolPathField;
-        
-        private string trademarkField;
-        
-        private string versionField;
-        
-        private string win32IconField;
-        
-        private string win32ResourceField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputAssembly {
-            get {
-                return this.outputAssemblyField;
-            }
-            set {
-                this.outputAssemblyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AlgorithmId {
-            get {
-                return this.algorithmIdField;
-            }
-            set {
-                this.algorithmIdField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BaseAddress {
-            get {
-                return this.baseAddressField;
-            }
-            set {
-                this.baseAddressField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CompanyName {
-            get {
-                return this.companyNameField;
-            }
-            set {
-                this.companyNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Configuration {
-            get {
-                return this.configurationField;
-            }
-            set {
-                this.configurationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Copyright {
-            get {
-                return this.copyrightField;
-            }
-            set {
-                this.copyrightField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Culture {
-            get {
-                return this.cultureField;
-            }
-            set {
-                this.cultureField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DelaySign {
-            get {
-                return this.delaySignField;
-            }
-            set {
-                this.delaySignField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Description {
-            get {
-                return this.descriptionField;
-            }
-            set {
-                this.descriptionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EmbedResources {
-            get {
-                return this.embedResourcesField;
-            }
-            set {
-                this.embedResourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EvidenceFile {
-            get {
-                return this.evidenceFileField;
-            }
-            set {
-                this.evidenceFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FileVersion {
-            get {
-                return this.fileVersionField;
-            }
-            set {
-                this.fileVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Flags {
-            get {
-                return this.flagsField;
-            }
-            set {
-                this.flagsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string GenerateFullPaths {
-            get {
-                return this.generateFullPathsField;
-            }
-            set {
-                this.generateFullPathsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyContainer {
-            get {
-                return this.keyContainerField;
-            }
-            set {
-                this.keyContainerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyFile {
-            get {
-                return this.keyFileField;
-            }
-            set {
-                this.keyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LinkResources {
-            get {
-                return this.linkResourcesField;
-            }
-            set {
-                this.linkResourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MainEntryPoint {
-            get {
-                return this.mainEntryPointField;
-            }
-            set {
-                this.mainEntryPointField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Platform {
-            get {
-                return this.platformField;
-            }
-            set {
-                this.platformField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ProductName {
-            get {
-                return this.productNameField;
-            }
-            set {
-                this.productNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ProductVersion {
-            get {
-                return this.productVersionField;
-            }
-            set {
-                this.productVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResponseFiles {
-            get {
-                return this.responseFilesField;
-            }
-            set {
-                this.responseFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SourceModules {
-            get {
-                return this.sourceModulesField;
-            }
-            set {
-                this.sourceModulesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetType {
-            get {
-                return this.targetTypeField;
-            }
-            set {
-                this.targetTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TemplateFile {
-            get {
-                return this.templateFileField;
-            }
-            set {
-                this.templateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Title {
-            get {
-                return this.titleField;
-            }
-            set {
-                this.titleField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Trademark {
-            get {
-                return this.trademarkField;
-            }
-            set {
-                this.trademarkField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Version {
-            get {
-                return this.versionField;
-            }
-            set {
-                this.versionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Icon {
-            get {
-                return this.win32IconField;
-            }
-            set {
-                this.win32IconField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Resource {
-            get {
-                return this.win32ResourceField;
-            }
-            set {
-                this.win32ResourceField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Task", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TaskType {
-        
-        private TaskTypeOutput[] outputField;
-        
-        private string conditionField;
-        
-        private string continueOnErrorField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("Output")]
-        public TaskTypeOutput[] Output {
-            get {
-                return this.outputField;
-            }
-            set {
-                this.outputField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ContinueOnError {
-            get {
-                return this.continueOnErrorField;
-            }
-            set {
-                this.continueOnErrorField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    public partial class TaskTypeOutput {
-        
-        private string taskParameterField;
-        
-        private string itemNameField;
-        
-        private string propertyNameField;
-        
-        private string conditionField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TaskParameter {
-            get {
-                return this.taskParameterField;
-            }
-            set {
-                this.taskParameterField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ItemName {
-            get {
-                return this.itemNameField;
-            }
-            set {
-                this.itemNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string PropertyName {
-            get {
-                return this.propertyNameField;
-            }
-            set {
-                this.propertyNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Condition {
-            get {
-                return this.conditionField;
-            }
-            set {
-                this.conditionField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("AspNetCompiler", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeAspNetCompiler : TaskType {
-        
-        private string cleanField;
-        
-        private string debugField;
-        
-        private string forceField;
-        
-        private string metabasePathField;
-        
-        private string physicalPathField;
-        
-        private string targetPathField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        private string updateableField;
-        
-        private string virtualPathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Clean {
-            get {
-                return this.cleanField;
-            }
-            set {
-                this.cleanField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Debug {
-            get {
-                return this.debugField;
-            }
-            set {
-                this.debugField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Force {
-            get {
-                return this.forceField;
-            }
-            set {
-                this.forceField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MetabasePath {
-            get {
-                return this.metabasePathField;
-            }
-            set {
-                this.metabasePathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string PhysicalPath {
-            get {
-                return this.physicalPathField;
-            }
-            set {
-                this.physicalPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetPath {
-            get {
-                return this.targetPathField;
-            }
-            set {
-                this.targetPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Updateable {
-            get {
-                return this.updateableField;
-            }
-            set {
-                this.updateableField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string VirtualPath {
-            get {
-                return this.virtualPathField;
-            }
-            set {
-                this.virtualPathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("AssignCulture", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeAssignCulture : TaskType {
-        
-        private string filesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Files {
-            get {
-                return this.filesField;
-            }
-            set {
-                this.filesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("AssignTargetPath", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeAssignTargetPath : TaskType {
-        
-        private string rootFolderField;
-        
-        private string filesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RootFolder {
-            get {
-                return this.rootFolderField;
-            }
-            set {
-                this.rootFolderField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Files {
-            get {
-                return this.filesField;
-            }
-            set {
-                this.filesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Copy", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeCopy : TaskType {
-        
-        private string destinationFilesField;
-        
-        private string destinationFolderField;
-        
-        private string skipUnchangedFilesField;
-        
-        private string sourceFilesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DestinationFiles {
-            get {
-                return this.destinationFilesField;
-            }
-            set {
-                this.destinationFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DestinationFolder {
-            get {
-                return this.destinationFolderField;
-            }
-            set {
-                this.destinationFolderField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SkipUnchangedFiles {
-            get {
-                return this.skipUnchangedFilesField;
-            }
-            set {
-                this.skipUnchangedFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SourceFiles {
-            get {
-                return this.sourceFilesField;
-            }
-            set {
-                this.sourceFilesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("CreateCSharpManifestResourceName", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeCreateCSharpManifestResourceName : TaskType {
-        
-        private string resourceFilesField;
-        
-        private string rootNamespaceField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResourceFiles {
-            get {
-                return this.resourceFilesField;
-            }
-            set {
-                this.resourceFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RootNamespace {
-            get {
-                return this.rootNamespaceField;
-            }
-            set {
-                this.rootNamespaceField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("CreateItem", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeCreateItem : TaskType {
-        
-        private string additionalMetadataField;
-        
-        private string excludeField;
-        
-        private string includeField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AdditionalMetadata {
-            get {
-                return this.additionalMetadataField;
-            }
-            set {
-                this.additionalMetadataField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Exclude {
-            get {
-                return this.excludeField;
-            }
-            set {
-                this.excludeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Include {
-            get {
-                return this.includeField;
-            }
-            set {
-                this.includeField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("CreateJSharpManifestResourceName", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeCreateJSharpManifestResourceName : TaskType {
-        
-        private string resourceFilesField;
-        
-        private string rootNamespaceField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResourceFiles {
-            get {
-                return this.resourceFilesField;
-            }
-            set {
-                this.resourceFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RootNamespace {
-            get {
-                return this.rootNamespaceField;
-            }
-            set {
-                this.rootNamespaceField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("CreateProperty", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeCreateProperty : TaskType {
-        
-        private string valueField;
-        
-        private string valueSetByTaskField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Value {
-            get {
-                return this.valueField;
-            }
-            set {
-                this.valueField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ValueSetByTask {
-            get {
-                return this.valueSetByTaskField;
-            }
-            set {
-                this.valueSetByTaskField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("CreateVisualBasicManifestResourceName", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeCreateVisualBasicManifestResourceName : TaskType {
-        
-        private string resourceFilesField;
-        
-        private string rootNamespaceField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResourceFiles {
-            get {
-                return this.resourceFilesField;
-            }
-            set {
-                this.resourceFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RootNamespace {
-            get {
-                return this.rootNamespaceField;
-            }
-            set {
-                this.rootNamespaceField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Csc", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeCsc : TaskType {
-        
-        private string additionalLibPathsField;
-        
-        private string addModulesField;
-        
-        private string allowUnsafeBlocksField;
-        
-        private string baseAddressField;
-        
-        private string checkForOverflowUnderflowField;
-        
-        private string codePageField;
-        
-        private string debugTypeField;
-        
-        private string defineConstantsField;
-        
-        private string delaySignField;
-        
-        private string disabledWarningsField;
-        
-        private string documentationFileField;
-        
-        private string emitDebugInformationField;
-        
-        private string errorReportField;
-        
-        private string fileAlignmentField;
-        
-        private string generateFullPathsField;
-        
-        private string keyContainerField;
-        
-        private string keyFileField;
-        
-        private string langVersionField;
-        
-        private string linkResourcesField;
-        
-        private string mainEntryPointField;
-        
-        private string noConfigField;
-        
-        private string noLogoField;
-        
-        private string noStandardLibField;
-        
-        private string optimizeField;
-        
-        private string outputAssemblyField;
-        
-        private string platformField;
-        
-        private string referencesField;
-        
-        private string resourcesField;
-        
-        private string responseFilesField;
-        
-        private string sourcesField;
-        
-        private string targetTypeField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        private string treatWarningsAsErrorsField;
-        
-        private string useHostCompilerIfAvailableField;
-        
-        private string utf8OutputField;
-        
-        private string warningLevelField;
-        
-        private string warningsAsErrorsField;
-        
-        private string warningsNotAsErrorsField;
-        
-        private string win32IconField;
-        
-        private string win32ResourceField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AdditionalLibPaths {
-            get {
-                return this.additionalLibPathsField;
-            }
-            set {
-                this.additionalLibPathsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AddModules {
-            get {
-                return this.addModulesField;
-            }
-            set {
-                this.addModulesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AllowUnsafeBlocks {
-            get {
-                return this.allowUnsafeBlocksField;
-            }
-            set {
-                this.allowUnsafeBlocksField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BaseAddress {
-            get {
-                return this.baseAddressField;
-            }
-            set {
-                this.baseAddressField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CheckForOverflowUnderflow {
-            get {
-                return this.checkForOverflowUnderflowField;
-            }
-            set {
-                this.checkForOverflowUnderflowField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CodePage {
-            get {
-                return this.codePageField;
-            }
-            set {
-                this.codePageField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DebugType {
-            get {
-                return this.debugTypeField;
-            }
-            set {
-                this.debugTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DefineConstants {
-            get {
-                return this.defineConstantsField;
-            }
-            set {
-                this.defineConstantsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DelaySign {
-            get {
-                return this.delaySignField;
-            }
-            set {
-                this.delaySignField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DisabledWarnings {
-            get {
-                return this.disabledWarningsField;
-            }
-            set {
-                this.disabledWarningsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DocumentationFile {
-            get {
-                return this.documentationFileField;
-            }
-            set {
-                this.documentationFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EmitDebugInformation {
-            get {
-                return this.emitDebugInformationField;
-            }
-            set {
-                this.emitDebugInformationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ErrorReport {
-            get {
-                return this.errorReportField;
-            }
-            set {
-                this.errorReportField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FileAlignment {
-            get {
-                return this.fileAlignmentField;
-            }
-            set {
-                this.fileAlignmentField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string GenerateFullPaths {
-            get {
-                return this.generateFullPathsField;
-            }
-            set {
-                this.generateFullPathsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyContainer {
-            get {
-                return this.keyContainerField;
-            }
-            set {
-                this.keyContainerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyFile {
-            get {
-                return this.keyFileField;
-            }
-            set {
-                this.keyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LangVersion {
-            get {
-                return this.langVersionField;
-            }
-            set {
-                this.langVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LinkResources {
-            get {
-                return this.linkResourcesField;
-            }
-            set {
-                this.linkResourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MainEntryPoint {
-            get {
-                return this.mainEntryPointField;
-            }
-            set {
-                this.mainEntryPointField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoConfig {
-            get {
-                return this.noConfigField;
-            }
-            set {
-                this.noConfigField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoLogo {
-            get {
-                return this.noLogoField;
-            }
-            set {
-                this.noLogoField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoStandardLib {
-            get {
-                return this.noStandardLibField;
-            }
-            set {
-                this.noStandardLibField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Optimize {
-            get {
-                return this.optimizeField;
-            }
-            set {
-                this.optimizeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputAssembly {
-            get {
-                return this.outputAssemblyField;
-            }
-            set {
-                this.outputAssemblyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Platform {
-            get {
-                return this.platformField;
-            }
-            set {
-                this.platformField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string References {
-            get {
-                return this.referencesField;
-            }
-            set {
-                this.referencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Resources {
-            get {
-                return this.resourcesField;
-            }
-            set {
-                this.resourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResponseFiles {
-            get {
-                return this.responseFilesField;
-            }
-            set {
-                this.responseFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetType {
-            get {
-                return this.targetTypeField;
-            }
-            set {
-                this.targetTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TreatWarningsAsErrors {
-            get {
-                return this.treatWarningsAsErrorsField;
-            }
-            set {
-                this.treatWarningsAsErrorsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UseHostCompilerIfAvailable {
-            get {
-                return this.useHostCompilerIfAvailableField;
-            }
-            set {
-                this.useHostCompilerIfAvailableField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Utf8Output {
-            get {
-                return this.utf8OutputField;
-            }
-            set {
-                this.utf8OutputField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WarningLevel {
-            get {
-                return this.warningLevelField;
-            }
-            set {
-                this.warningLevelField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WarningsAsErrors {
-            get {
-                return this.warningsAsErrorsField;
-            }
-            set {
-                this.warningsAsErrorsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WarningsNotAsErrors {
-            get {
-                return this.warningsNotAsErrorsField;
-            }
-            set {
-                this.warningsNotAsErrorsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Icon {
-            get {
-                return this.win32IconField;
-            }
-            set {
-                this.win32IconField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Resource {
-            get {
-                return this.win32ResourceField;
-            }
-            set {
-                this.win32ResourceField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Delete", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeDelete : TaskType {
-        
-        private string filesField;
-        
-        private string deletedFilesField;
-        
-        private string treatErrorsAsWarningsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Files {
-            get {
-                return this.filesField;
-            }
-            set {
-                this.filesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DeletedFiles {
-            get {
-                return this.deletedFilesField;
-            }
-            set {
-                this.deletedFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TreatErrorsAsWarnings {
-            get {
-                return this.treatErrorsAsWarningsField;
-            }
-            set {
-                this.treatErrorsAsWarningsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Error", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeError : TaskType {
-        
-        private string textField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Text {
-            get {
-                return this.textField;
-            }
-            set {
-                this.textField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Exec", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeExec : TaskType {
-        
-        private string commandField;
-        
-        private string ignoreExitCodeField;
-        
-        private string outputsField;
-        
-        private string standardErrorEncodingField;
-        
-        private string standardOutputEncodingField;
-        
-        private string timeoutField;
-        
-        private string workingDirectoryField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Command {
-            get {
-                return this.commandField;
-            }
-            set {
-                this.commandField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string IgnoreExitCode {
-            get {
-                return this.ignoreExitCodeField;
-            }
-            set {
-                this.ignoreExitCodeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Outputs {
-            get {
-                return this.outputsField;
-            }
-            set {
-                this.outputsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StandardErrorEncoding {
-            get {
-                return this.standardErrorEncodingField;
-            }
-            set {
-                this.standardErrorEncodingField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StandardOutputEncoding {
-            get {
-                return this.standardOutputEncodingField;
-            }
-            set {
-                this.standardOutputEncodingField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WorkingDirectory {
-            get {
-                return this.workingDirectoryField;
-            }
-            set {
-                this.workingDirectoryField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("FindUnderPath", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeFindUnderPath : TaskType {
-        
-        private string pathField;
-        
-        private string filesField;
-        
-        private string inPathField;
-        
-        private string outOfPathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Path {
-            get {
-                return this.pathField;
-            }
-            set {
-                this.pathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Files {
-            get {
-                return this.filesField;
-            }
-            set {
-                this.filesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string InPath {
-            get {
-                return this.inPathField;
-            }
-            set {
-                this.inPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutOfPath {
-            get {
-                return this.outOfPathField;
-            }
-            set {
-                this.outOfPathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("FormatUrl", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeFormatUrl : TaskType {
-        
-        private string inputUrlField;
-        
-        private string outputUrlField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string InputUrl {
-            get {
-                return this.inputUrlField;
-            }
-            set {
-                this.inputUrlField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputUrl {
-            get {
-                return this.outputUrlField;
-            }
-            set {
-                this.outputUrlField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("FormatVersion", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeFormatVersion : TaskType {
-        
-        private string formatTypeField;
-        
-        private string outputVersionField;
-        
-        private string revisionField;
-        
-        private string versionField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FormatType {
-            get {
-                return this.formatTypeField;
-            }
-            set {
-                this.formatTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputVersion {
-            get {
-                return this.outputVersionField;
-            }
-            set {
-                this.outputVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Revision {
-            get {
-                return this.revisionField;
-            }
-            set {
-                this.revisionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Version {
-            get {
-                return this.versionField;
-            }
-            set {
-                this.versionField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("FxCop", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeFxCop : TaskType {
-        
-        private string applyLogFileXslField;
-        
-        private string assembliesField;
-        
-        private string consoleXslField;
-        
-        private string dependentAssemblyPathsField;
-        
-        private string importsField;
-        
-        private string logFileField;
-        
-        private string logFileXslField;
-        
-        private string outputToConsoleField;
-        
-        private string platformPathField;
-        
-        private string projectField;
-        
-        private string ruleAssembliesField;
-        
-        private string rulesField;
-        
-        private string summaryField;
-        
-        private string toolPathField;
-        
-        private string updateProjectFileField;
-        
-        private string verboseField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ApplyLogFileXsl {
-            get {
-                return this.applyLogFileXslField;
-            }
-            set {
-                this.applyLogFileXslField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Assemblies {
-            get {
-                return this.assembliesField;
-            }
-            set {
-                this.assembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ConsoleXsl {
-            get {
-                return this.consoleXslField;
-            }
-            set {
-                this.consoleXslField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DependentAssemblyPaths {
-            get {
-                return this.dependentAssemblyPathsField;
-            }
-            set {
-                this.dependentAssemblyPathsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Imports {
-            get {
-                return this.importsField;
-            }
-            set {
-                this.importsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LogFile {
-            get {
-                return this.logFileField;
-            }
-            set {
-                this.logFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LogFileXsl {
-            get {
-                return this.logFileXslField;
-            }
-            set {
-                this.logFileXslField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputToConsole {
-            get {
-                return this.outputToConsoleField;
-            }
-            set {
-                this.outputToConsoleField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string PlatformPath {
-            get {
-                return this.platformPathField;
-            }
-            set {
-                this.platformPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Project {
-            get {
-                return this.projectField;
-            }
-            set {
-                this.projectField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RuleAssemblies {
-            get {
-                return this.ruleAssembliesField;
-            }
-            set {
-                this.ruleAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Rules {
-            get {
-                return this.rulesField;
-            }
-            set {
-                this.rulesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Summary {
-            get {
-                return this.summaryField;
-            }
-            set {
-                this.summaryField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UpdateProjectFile {
-            get {
-                return this.updateProjectFileField;
-            }
-            set {
-                this.updateProjectFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Verbose {
-            get {
-                return this.verboseField;
-            }
-            set {
-                this.verboseField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GenerateApplicationManifest", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGenerateApplicationManifest : TaskType {
-        
-        private string assemblyNameField;
-        
-        private string assemblyVersionField;
-        
-        private string clrVersionField;
-        
-        private string configFileField;
-        
-        private string dependenciesField;
-        
-        private string descriptionField;
-        
-        private string entryPointField;
-        
-        private string filesField;
-        
-        private string iconFileField;
-        
-        private string inputManifestField;
-        
-        private string isolatedComReferencesField;
-        
-        private string manifestTypeField;
-        
-        private string maxTargetPathField;
-        
-        private string oSVersionField;
-        
-        private string outputManifestField;
-        
-        private string platformField;
-        
-        private string targetCultureField;
-        
-        private string trustInfoFileField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyName {
-            get {
-                return this.assemblyNameField;
-            }
-            set {
-                this.assemblyNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyVersion {
-            get {
-                return this.assemblyVersionField;
-            }
-            set {
-                this.assemblyVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ClrVersion {
-            get {
-                return this.clrVersionField;
-            }
-            set {
-                this.clrVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ConfigFile {
-            get {
-                return this.configFileField;
-            }
-            set {
-                this.configFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Dependencies {
-            get {
-                return this.dependenciesField;
-            }
-            set {
-                this.dependenciesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Description {
-            get {
-                return this.descriptionField;
-            }
-            set {
-                this.descriptionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EntryPoint {
-            get {
-                return this.entryPointField;
-            }
-            set {
-                this.entryPointField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Files {
-            get {
-                return this.filesField;
-            }
-            set {
-                this.filesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string IconFile {
-            get {
-                return this.iconFileField;
-            }
-            set {
-                this.iconFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string InputManifest {
-            get {
-                return this.inputManifestField;
-            }
-            set {
-                this.inputManifestField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string IsolatedComReferences {
-            get {
-                return this.isolatedComReferencesField;
-            }
-            set {
-                this.isolatedComReferencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ManifestType {
-            get {
-                return this.manifestTypeField;
-            }
-            set {
-                this.manifestTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MaxTargetPath {
-            get {
-                return this.maxTargetPathField;
-            }
-            set {
-                this.maxTargetPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OSVersion {
-            get {
-                return this.oSVersionField;
-            }
-            set {
-                this.oSVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputManifest {
-            get {
-                return this.outputManifestField;
-            }
-            set {
-                this.outputManifestField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Platform {
-            get {
-                return this.platformField;
-            }
-            set {
-                this.platformField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetCulture {
-            get {
-                return this.targetCultureField;
-            }
-            set {
-                this.targetCultureField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TrustInfoFile {
-            get {
-                return this.trustInfoFileField;
-            }
-            set {
-                this.trustInfoFileField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GenerateBootstrapper", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGenerateBootstrapper : TaskType {
-        
-        private string applicationFileField;
-        
-        private string applicationNameField;
-        
-        private string applicationUrlField;
-        
-        private string bootstrapperComponentFilesField;
-        
-        private string bootstrapperItemsField;
-        
-        private string bootstrapperKeyFileField;
-        
-        private string componentsLocationField;
-        
-        private string componentsUrlField;
-        
-        private string copyComponentsField;
-        
-        private string cultureField;
-        
-        private string fallbackCultureField;
-        
-        private string outputPathField;
-        
-        private string pathField;
-        
-        private string supportUrlField;
-        
-        private string validateField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ApplicationFile {
-            get {
-                return this.applicationFileField;
-            }
-            set {
-                this.applicationFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ApplicationName {
-            get {
-                return this.applicationNameField;
-            }
-            set {
-                this.applicationNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ApplicationUrl {
-            get {
-                return this.applicationUrlField;
-            }
-            set {
-                this.applicationUrlField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BootstrapperComponentFiles {
-            get {
-                return this.bootstrapperComponentFilesField;
-            }
-            set {
-                this.bootstrapperComponentFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BootstrapperItems {
-            get {
-                return this.bootstrapperItemsField;
-            }
-            set {
-                this.bootstrapperItemsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BootstrapperKeyFile {
-            get {
-                return this.bootstrapperKeyFileField;
-            }
-            set {
-                this.bootstrapperKeyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ComponentsLocation {
-            get {
-                return this.componentsLocationField;
-            }
-            set {
-                this.componentsLocationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ComponentsUrl {
-            get {
-                return this.componentsUrlField;
-            }
-            set {
-                this.componentsUrlField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CopyComponents {
-            get {
-                return this.copyComponentsField;
-            }
-            set {
-                this.copyComponentsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Culture {
-            get {
-                return this.cultureField;
-            }
-            set {
-                this.cultureField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FallbackCulture {
-            get {
-                return this.fallbackCultureField;
-            }
-            set {
-                this.fallbackCultureField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputPath {
-            get {
-                return this.outputPathField;
-            }
-            set {
-                this.outputPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Path {
-            get {
-                return this.pathField;
-            }
-            set {
-                this.pathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SupportUrl {
-            get {
-                return this.supportUrlField;
-            }
-            set {
-                this.supportUrlField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Validate {
-            get {
-                return this.validateField;
-            }
-            set {
-                this.validateField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GenerateDeploymentManifest", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGenerateDeploymentManifest : TaskType {
-        
-        private string assemblyNameField;
-        
-        private string assemblyVersionField;
-        
-        private string deploymentUrlField;
-        
-        private string descriptionField;
-        
-        private string disallowUrlActivationField;
-        
-        private string entryPointField;
-        
-        private string inputManifestField;
-        
-        private string installField;
-        
-        private string maxTargetPathField;
-        
-        private string mapFileExtensionsField;
-        
-        private string minimumRequiredVersionField;
-        
-        private string outputManifestField;
-        
-        private string platformField;
-        
-        private string productField;
-        
-        private string publisherField;
-        
-        private string supportUrlField;
-        
-        private string targetCultureField;
-        
-        private string trustUrlParametersField;
-        
-        private string updateEnabledField;
-        
-        private string updateIntervalField;
-        
-        private string updateModeField;
-        
-        private string updateUnitField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyName {
-            get {
-                return this.assemblyNameField;
-            }
-            set {
-                this.assemblyNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyVersion {
-            get {
-                return this.assemblyVersionField;
-            }
-            set {
-                this.assemblyVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DeploymentUrl {
-            get {
-                return this.deploymentUrlField;
-            }
-            set {
-                this.deploymentUrlField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Description {
-            get {
-                return this.descriptionField;
-            }
-            set {
-                this.descriptionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DisallowUrlActivation {
-            get {
-                return this.disallowUrlActivationField;
-            }
-            set {
-                this.disallowUrlActivationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EntryPoint {
-            get {
-                return this.entryPointField;
-            }
-            set {
-                this.entryPointField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string InputManifest {
-            get {
-                return this.inputManifestField;
-            }
-            set {
-                this.inputManifestField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Install {
-            get {
-                return this.installField;
-            }
-            set {
-                this.installField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MaxTargetPath {
-            get {
-                return this.maxTargetPathField;
-            }
-            set {
-                this.maxTargetPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MapFileExtensions {
-            get {
-                return this.mapFileExtensionsField;
-            }
-            set {
-                this.mapFileExtensionsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MinimumRequiredVersion {
-            get {
-                return this.minimumRequiredVersionField;
-            }
-            set {
-                this.minimumRequiredVersionField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputManifest {
-            get {
-                return this.outputManifestField;
-            }
-            set {
-                this.outputManifestField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Platform {
-            get {
-                return this.platformField;
-            }
-            set {
-                this.platformField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Product {
-            get {
-                return this.productField;
-            }
-            set {
-                this.productField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Publisher {
-            get {
-                return this.publisherField;
-            }
-            set {
-                this.publisherField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SupportUrl {
-            get {
-                return this.supportUrlField;
-            }
-            set {
-                this.supportUrlField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetCulture {
-            get {
-                return this.targetCultureField;
-            }
-            set {
-                this.targetCultureField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TrustUrlParameters {
-            get {
-                return this.trustUrlParametersField;
-            }
-            set {
-                this.trustUrlParametersField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UpdateEnabled {
-            get {
-                return this.updateEnabledField;
-            }
-            set {
-                this.updateEnabledField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UpdateInterval {
-            get {
-                return this.updateIntervalField;
-            }
-            set {
-                this.updateIntervalField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UpdateMode {
-            get {
-                return this.updateModeField;
-            }
-            set {
-                this.updateModeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UpdateUnit {
-            get {
-                return this.updateUnitField;
-            }
-            set {
-                this.updateUnitField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GenerateResource", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGenerateResource : TaskType {
-        
-        private string sourcesField;
-        
-        private string filesWrittenField;
-        
-        private string neverLockTypeAssembliesField;
-        
-        private string outputResourcesField;
-        
-        private string referencesField;
-        
-        private string stateFileField;
-        
-        private string timeoutField;
-        
-        private string useSourcePathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FilesWritten {
-            get {
-                return this.filesWrittenField;
-            }
-            set {
-                this.filesWrittenField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NeverLockTypeAssemblies {
-            get {
-                return this.neverLockTypeAssembliesField;
-            }
-            set {
-                this.neverLockTypeAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputResources {
-            get {
-                return this.outputResourcesField;
-            }
-            set {
-                this.outputResourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string References {
-            get {
-                return this.referencesField;
-            }
-            set {
-                this.referencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StateFile {
-            get {
-                return this.stateFileField;
-            }
-            set {
-                this.stateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UseSourcePath {
-            get {
-                return this.useSourcePathField;
-            }
-            set {
-                this.useSourcePathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GenerateTrustInfo", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGenerateTrustInfo : TaskType {
-        
-        private string baseManifestField;
-        
-        private string excludedPermissionsField;
-        
-        private string targetZoneField;
-        
-        private string trustInfoFileField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BaseManifest {
-            get {
-                return this.baseManifestField;
-            }
-            set {
-                this.baseManifestField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ExcludedPermissions {
-            get {
-                return this.excludedPermissionsField;
-            }
-            set {
-                this.excludedPermissionsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetZone {
-            get {
-                return this.targetZoneField;
-            }
-            set {
-                this.targetZoneField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TrustInfoFile {
-            get {
-                return this.trustInfoFileField;
-            }
-            set {
-                this.trustInfoFileField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GetAssemblyIdentity", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGetAssemblyIdentity : TaskType {
-        
-        private string assemblyFilesField;
-        
-        private string assembliesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyFiles {
-            get {
-                return this.assemblyFilesField;
-            }
-            set {
-                this.assemblyFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Assemblies {
-            get {
-                return this.assembliesField;
-            }
-            set {
-                this.assembliesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GetFrameworkPath", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGetFrameworkPath : TaskType {
-        
-        private string pathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Path {
-            get {
-                return this.pathField;
-            }
-            set {
-                this.pathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GetFrameworkSdkPath", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGetFrameworkSdkPath : TaskType {
-        
-        private string pathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Path {
-            get {
-                return this.pathField;
-            }
-            set {
-                this.pathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("GetLinkedFilesFromResX", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeGetLinkedFilesFromResX : TaskType {
-        
-        private string sourcesField;
-        
-        private string stateFileField;
-        
-        private string useSourcePathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StateFile {
-            get {
-                return this.stateFileField;
-            }
-            set {
-                this.stateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UseSourcePath {
-            get {
-                return this.useSourcePathField;
-            }
-            set {
-                this.useSourcePathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("LC", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeLC : TaskType {
-        
-        private string licenseTargetField;
-        
-        private string sourcesField;
-        
-        private string noLogoField;
-        
-        private string outputDirectoryField;
-        
-        private string outputLicenseField;
-        
-        private string referencedAssembliesField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LicenseTarget {
-            get {
-                return this.licenseTargetField;
-            }
-            set {
-                this.licenseTargetField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoLogo {
-            get {
-                return this.noLogoField;
-            }
-            set {
-                this.noLogoField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputDirectory {
-            get {
-                return this.outputDirectoryField;
-            }
-            set {
-                this.outputDirectoryField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputLicense {
-            get {
-                return this.outputLicenseField;
-            }
-            set {
-                this.outputLicenseField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ReferencedAssemblies {
-            get {
-                return this.referencedAssembliesField;
-            }
-            set {
-                this.referencedAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("MSBuild", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeMSBuild : TaskType {
-        
-        private string projectsField;
-        
-        private string rebaseOutputsField;
-        
-        private string stopOnFirstFailureField;
-        
-        private string runEachTargetSeparatelyField;
-        
-        private string targetsField;
-        
-        private string propertiesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Projects {
-            get {
-                return this.projectsField;
-            }
-            set {
-                this.projectsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RebaseOutputs {
-            get {
-                return this.rebaseOutputsField;
-            }
-            set {
-                this.rebaseOutputsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StopOnFirstFailure {
-            get {
-                return this.stopOnFirstFailureField;
-            }
-            set {
-                this.stopOnFirstFailureField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RunEachTargetSeparately {
-            get {
-                return this.runEachTargetSeparatelyField;
-            }
-            set {
-                this.runEachTargetSeparatelyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Targets {
-            get {
-                return this.targetsField;
-            }
-            set {
-                this.targetsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Properties {
-            get {
-                return this.propertiesField;
-            }
-            set {
-                this.propertiesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("MakeDir", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeMakeDir : TaskType {
-        
-        private string directoriesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Directories {
-            get {
-                return this.directoriesField;
-            }
-            set {
-                this.directoriesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Message", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeMessage : TaskType {
-        
-        private string importanceField;
-        
-        private string textField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Importance {
-            get {
-                return this.importanceField;
-            }
-            set {
-                this.importanceField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Text {
-            get {
-                return this.textField;
-            }
-            set {
-                this.textField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ReadLinesFromFile", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeReadLinesFromFile : TaskType {
-        
-        private string fileField;
-        
-        private string linesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string File {
-            get {
-                return this.fileField;
-            }
-            set {
-                this.fileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Lines {
-            get {
-                return this.linesField;
-            }
-            set {
-                this.linesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("RegisterAssembly", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeRegisterAssembly : TaskType {
-        
-        private string assembliesField;
-        
-        private string createCodeBaseField;
-        
-        private string stateFileField;
-        
-        private string typeLibFilesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Assemblies {
-            get {
-                return this.assembliesField;
-            }
-            set {
-                this.assembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CreateCodeBase {
-            get {
-                return this.createCodeBaseField;
-            }
-            set {
-                this.createCodeBaseField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StateFile {
-            get {
-                return this.stateFileField;
-            }
-            set {
-                this.stateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TypeLibFiles {
-            get {
-                return this.typeLibFilesField;
-            }
-            set {
-                this.typeLibFilesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("RemoveDir", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeRemoveDir : TaskType {
-        
-        private string directoriesField;
-        
-        private string removedDirectoriesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Directories {
-            get {
-                return this.directoriesField;
-            }
-            set {
-                this.directoriesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RemovedDirectories {
-            get {
-                return this.removedDirectoriesField;
-            }
-            set {
-                this.removedDirectoriesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("RemoveDuplicates", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeRemoveDuplicates : TaskType {
-        
-        private string filteredField;
-        
-        private string inputsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Filtered {
-            get {
-                return this.filteredField;
-            }
-            set {
-                this.filteredField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Inputs {
-            get {
-                return this.inputsField;
-            }
-            set {
-                this.inputsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ResGen", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeResGen : TaskType {
-        
-        private string sourcesField;
-        
-        private string filesWrittenField;
-        
-        private string outputResourcesField;
-        
-        private string referencesField;
-        
-        private string stateFileField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        private string useSourcePathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FilesWritten {
-            get {
-                return this.filesWrittenField;
-            }
-            set {
-                this.filesWrittenField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputResources {
-            get {
-                return this.outputResourcesField;
-            }
-            set {
-                this.outputResourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string References {
-            get {
-                return this.referencesField;
-            }
-            set {
-                this.referencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StateFile {
-            get {
-                return this.stateFileField;
-            }
-            set {
-                this.stateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UseSourcePath {
-            get {
-                return this.useSourcePathField;
-            }
-            set {
-                this.useSourcePathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ResolveAssemblyReference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeResolveAssemblyReference : TaskType {
-        
-        private string searchPathsField;
-        
-        private string appConfigFileField;
-        
-        private string assembliesField;
-        
-        private string assemblyFilesField;
-        
-        private string autoUnifyField;
-        
-        private string candidateAssemblyFilesField;
-        
-        private string filesWrittenField;
-        
-        private string findDependenciesField;
-        
-        private string findRelatedFilesField;
-        
-        private string findSatellitesField;
-        
-        private string installedAssemblyTablesField;
-        
-        private string silentField;
-        
-        private string stateFileField;
-        
-        private string targetFrameworkDirectoryField;
-        
-        private string targetProcessorArchitectureField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SearchPaths {
-            get {
-                return this.searchPathsField;
-            }
-            set {
-                this.searchPathsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AppConfigFile {
-            get {
-                return this.appConfigFileField;
-            }
-            set {
-                this.appConfigFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Assemblies {
-            get {
-                return this.assembliesField;
-            }
-            set {
-                this.assembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AssemblyFiles {
-            get {
-                return this.assemblyFilesField;
-            }
-            set {
-                this.assemblyFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AutoUnify {
-            get {
-                return this.autoUnifyField;
-            }
-            set {
-                this.autoUnifyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CandidateAssemblyFiles {
-            get {
-                return this.candidateAssemblyFilesField;
-            }
-            set {
-                this.candidateAssemblyFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FilesWritten {
-            get {
-                return this.filesWrittenField;
-            }
-            set {
-                this.filesWrittenField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FindDependencies {
-            get {
-                return this.findDependenciesField;
-            }
-            set {
-                this.findDependenciesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FindRelatedFiles {
-            get {
-                return this.findRelatedFilesField;
-            }
-            set {
-                this.findRelatedFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FindSatellites {
-            get {
-                return this.findSatellitesField;
-            }
-            set {
-                this.findSatellitesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string InstalledAssemblyTables {
-            get {
-                return this.installedAssemblyTablesField;
-            }
-            set {
-                this.installedAssemblyTablesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Silent {
-            get {
-                return this.silentField;
-            }
-            set {
-                this.silentField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StateFile {
-            get {
-                return this.stateFileField;
-            }
-            set {
-                this.stateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetFrameworkDirectory {
-            get {
-                return this.targetFrameworkDirectoryField;
-            }
-            set {
-                this.targetFrameworkDirectoryField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetProcessorArchitecture {
-            get {
-                return this.targetProcessorArchitectureField;
-            }
-            set {
-                this.targetProcessorArchitectureField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ResolveComReference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeResolveComReference : TaskType {
-        
-        private string delaySignField;
-        
-        private string keyContainerField;
-        
-        private string keyFileField;
-        
-        private string noClassMembersField;
-        
-        private string resolvedAssemblyReferencesField;
-        
-        private string resolvedFilesField;
-        
-        private string resolvedModulesField;
-        
-        private string stateFileField;
-        
-        private string typeLibFilesField;
-        
-        private string typeLibNamesField;
-        
-        private string wrapperOutputDirectoryField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DelaySign {
-            get {
-                return this.delaySignField;
-            }
-            set {
-                this.delaySignField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyContainer {
-            get {
-                return this.keyContainerField;
-            }
-            set {
-                this.keyContainerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyFile {
-            get {
-                return this.keyFileField;
-            }
-            set {
-                this.keyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoClassMembers {
-            get {
-                return this.noClassMembersField;
-            }
-            set {
-                this.noClassMembersField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResolvedAssemblyReferences {
-            get {
-                return this.resolvedAssemblyReferencesField;
-            }
-            set {
-                this.resolvedAssemblyReferencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResolvedFiles {
-            get {
-                return this.resolvedFilesField;
-            }
-            set {
-                this.resolvedFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResolvedModules {
-            get {
-                return this.resolvedModulesField;
-            }
-            set {
-                this.resolvedModulesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StateFile {
-            get {
-                return this.stateFileField;
-            }
-            set {
-                this.stateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TypeLibFiles {
-            get {
-                return this.typeLibFilesField;
-            }
-            set {
-                this.typeLibFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TypeLibNames {
-            get {
-                return this.typeLibNamesField;
-            }
-            set {
-                this.typeLibNamesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WrapperOutputDirectory {
-            get {
-                return this.wrapperOutputDirectoryField;
-            }
-            set {
-                this.wrapperOutputDirectoryField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ResolveKeySource", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeResolveKeySource : TaskType {
-        
-        private string autoClosePasswordPromptShowField;
-        
-        private string autoClosePasswordPromptTimeoutField;
-        
-        private string certificateFileField;
-        
-        private string certificateThumbprintField;
-        
-        private string keyFileField;
-        
-        private string resolvedKeyContainerField;
-        
-        private string resolvedKeyFileField;
-        
-        private string resolvedThumbprintField;
-        
-        private string suppressAutoClosePasswordPromptField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AutoClosePasswordPromptShow {
-            get {
-                return this.autoClosePasswordPromptShowField;
-            }
-            set {
-                this.autoClosePasswordPromptShowField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AutoClosePasswordPromptTimeout {
-            get {
-                return this.autoClosePasswordPromptTimeoutField;
-            }
-            set {
-                this.autoClosePasswordPromptTimeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CertificateFile {
-            get {
-                return this.certificateFileField;
-            }
-            set {
-                this.certificateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CertificateThumbprint {
-            get {
-                return this.certificateThumbprintField;
-            }
-            set {
-                this.certificateThumbprintField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyFile {
-            get {
-                return this.keyFileField;
-            }
-            set {
-                this.keyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResolvedKeyContainer {
-            get {
-                return this.resolvedKeyContainerField;
-            }
-            set {
-                this.resolvedKeyContainerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResolvedKeyFile {
-            get {
-                return this.resolvedKeyFileField;
-            }
-            set {
-                this.resolvedKeyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResolvedThumbprint {
-            get {
-                return this.resolvedThumbprintField;
-            }
-            set {
-                this.resolvedThumbprintField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SuppressAutoClosePasswordPrompt {
-            get {
-                return this.suppressAutoClosePasswordPromptField;
-            }
-            set {
-                this.suppressAutoClosePasswordPromptField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ResolveManifestFiles", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeResolveManifestFiles : TaskType {
-        
-        private string entryPointField;
-        
-        private string trustInfoFileField;
-        
-        private string dependenciesField;
-        
-        private string extraFilesField;
-        
-        private string filesField;
-        
-        private string managedAssembliesField;
-        
-        private string nativeAssembliesField;
-        
-        private string outputAssembliesField;
-        
-        private string outputDependenciesField;
-        
-        private string outputFilesField;
-        
-        private string outputPrerequisitesField;
-        
-        private string outputSatellitesField;
-        
-        private string publishFilesField;
-        
-        private string satellitesField;
-        
-        private string satelliteAssembliesField;
-        
-        private string targetCultureField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EntryPoint {
-            get {
-                return this.entryPointField;
-            }
-            set {
-                this.entryPointField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TrustInfoFile {
-            get {
-                return this.trustInfoFileField;
-            }
-            set {
-                this.trustInfoFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Dependencies {
-            get {
-                return this.dependenciesField;
-            }
-            set {
-                this.dependenciesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ExtraFiles {
-            get {
-                return this.extraFilesField;
-            }
-            set {
-                this.extraFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Files {
-            get {
-                return this.filesField;
-            }
-            set {
-                this.filesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ManagedAssemblies {
-            get {
-                return this.managedAssembliesField;
-            }
-            set {
-                this.managedAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NativeAssemblies {
-            get {
-                return this.nativeAssembliesField;
-            }
-            set {
-                this.nativeAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputAssemblies {
-            get {
-                return this.outputAssembliesField;
-            }
-            set {
-                this.outputAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputDependencies {
-            get {
-                return this.outputDependenciesField;
-            }
-            set {
-                this.outputDependenciesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputFiles {
-            get {
-                return this.outputFilesField;
-            }
-            set {
-                this.outputFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputPrerequisites {
-            get {
-                return this.outputPrerequisitesField;
-            }
-            set {
-                this.outputPrerequisitesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputSatellites {
-            get {
-                return this.outputSatellitesField;
-            }
-            set {
-                this.outputSatellitesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string PublishFiles {
-            get {
-                return this.publishFilesField;
-            }
-            set {
-                this.publishFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Satellites {
-            get {
-                return this.satellitesField;
-            }
-            set {
-                this.satellitesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SatelliteAssemblies {
-            get {
-                return this.satelliteAssembliesField;
-            }
-            set {
-                this.satelliteAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetCulture {
-            get {
-                return this.targetCultureField;
-            }
-            set {
-                this.targetCultureField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ResolveNativeReference", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeResolveNativeReference : TaskType {
-        
-        private string nativeReferencesField;
-        
-        private string containedComComponentsField;
-        
-        private string containedLooseEtcFilesField;
-        
-        private string containedLooseTlbFilesField;
-        
-        private string containedNetAssembliesField;
-        
-        private string containedTypeLibrariesField;
-        
-        private string containingReferenceFilesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NativeReferences {
-            get {
-                return this.nativeReferencesField;
-            }
-            set {
-                this.nativeReferencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ContainedComComponents {
-            get {
-                return this.containedComComponentsField;
-            }
-            set {
-                this.containedComComponentsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ContainedLooseEtcFiles {
-            get {
-                return this.containedLooseEtcFilesField;
-            }
-            set {
-                this.containedLooseEtcFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ContainedLooseTlbFiles {
-            get {
-                return this.containedLooseTlbFilesField;
-            }
-            set {
-                this.containedLooseTlbFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ContainedNetAssemblies {
-            get {
-                return this.containedNetAssembliesField;
-            }
-            set {
-                this.containedNetAssembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ContainedTypeLibraries {
-            get {
-                return this.containedTypeLibrariesField;
-            }
-            set {
-                this.containedTypeLibrariesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ContainingReferenceFiles {
-            get {
-                return this.containingReferenceFilesField;
-            }
-            set {
-                this.containingReferenceFilesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("ResolveVCProjectOutput", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeResolveVCProjectOutput : TaskType {
-        
-        private string projectReferencesField;
-        
-        private string configurationField;
-        
-        private string preresolvedVCOutputsField;
-        
-        private string resolvedOutputPathsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ProjectReferences {
-            get {
-                return this.projectReferencesField;
-            }
-            set {
-                this.projectReferencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Configuration {
-            get {
-                return this.configurationField;
-            }
-            set {
-                this.configurationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string PreresolvedVCOutputs {
-            get {
-                return this.preresolvedVCOutputsField;
-            }
-            set {
-                this.preresolvedVCOutputsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResolvedOutputPaths {
-            get {
-                return this.resolvedOutputPathsField;
-            }
-            set {
-                this.resolvedOutputPathsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("SGen", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeSGen : TaskType {
-        
-        private string buildAssemblyNameField;
-        
-        private string buildAssemblyPathField;
-        
-        private string shouldGenerateSerializerField;
-        
-        private string delaySignField;
-        
-        private string keyContainerField;
-        
-        private string keyFileField;
-        
-        private string referencesField;
-        
-        private string serializationAssemblyField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BuildAssemblyName {
-            get {
-                return this.buildAssemblyNameField;
-            }
-            set {
-                this.buildAssemblyNameField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BuildAssemblyPath {
-            get {
-                return this.buildAssemblyPathField;
-            }
-            set {
-                this.buildAssemblyPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ShouldGenerateSerializer {
-            get {
-                return this.shouldGenerateSerializerField;
-            }
-            set {
-                this.shouldGenerateSerializerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DelaySign {
-            get {
-                return this.delaySignField;
-            }
-            set {
-                this.delaySignField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyContainer {
-            get {
-                return this.keyContainerField;
-            }
-            set {
-                this.keyContainerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyFile {
-            get {
-                return this.keyFileField;
-            }
-            set {
-                this.keyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string References {
-            get {
-                return this.referencesField;
-            }
-            set {
-                this.referencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SerializationAssembly {
-            get {
-                return this.serializationAssemblyField;
-            }
-            set {
-                this.serializationAssemblyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("SignFile", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeSignFile : TaskType {
-        
-        private string certificateThumbprintField;
-        
-        private string signingTargetField;
-        
-        private string timestampUrlField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CertificateThumbprint {
-            get {
-                return this.certificateThumbprintField;
-            }
-            set {
-                this.certificateThumbprintField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SigningTarget {
-            get {
-                return this.signingTargetField;
-            }
-            set {
-                this.signingTargetField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TimestampUrl {
-            get {
-                return this.timestampUrlField;
-            }
-            set {
-                this.timestampUrlField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Touch", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeTouch : TaskType {
-        
-        private string filesField;
-        
-        private string alwaysCreateField;
-        
-        private string forceTouchField;
-        
-        private string timeField;
-        
-        private string touchedFilesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Files {
-            get {
-                return this.filesField;
-            }
-            set {
-                this.filesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AlwaysCreate {
-            get {
-                return this.alwaysCreateField;
-            }
-            set {
-                this.alwaysCreateField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ForceTouch {
-            get {
-                return this.forceTouchField;
-            }
-            set {
-                this.forceTouchField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Time {
-            get {
-                return this.timeField;
-            }
-            set {
-                this.timeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TouchedFiles {
-            get {
-                return this.touchedFilesField;
-            }
-            set {
-                this.touchedFilesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("UnregisterAssembly", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeUnregisterAssembly : TaskType {
-        
-        private string assembliesField;
-        
-        private string stateFileField;
-        
-        private string typeLibFilesField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Assemblies {
-            get {
-                return this.assembliesField;
-            }
-            set {
-                this.assembliesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string StateFile {
-            get {
-                return this.stateFileField;
-            }
-            set {
-                this.stateFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TypeLibFiles {
-            get {
-                return this.typeLibFilesField;
-            }
-            set {
-                this.typeLibFilesField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("UpdateManifest", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeUpdateManifest : TaskType {
-        
-        private string inputManifestField;
-        
-        private string applicationManifestField;
-        
-        private string applicationPathField;
-        
-        private string outputManifestField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string InputManifest {
-            get {
-                return this.inputManifestField;
-            }
-            set {
-                this.inputManifestField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ApplicationManifest {
-            get {
-                return this.applicationManifestField;
-            }
-            set {
-                this.applicationManifestField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ApplicationPath {
-            get {
-                return this.applicationPathField;
-            }
-            set {
-                this.applicationPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputManifest {
-            get {
-                return this.outputManifestField;
-            }
-            set {
-                this.outputManifestField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("VCBuild", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeVCBuild : TaskType {
-        
-        private string projectsField;
-        
-        private string cleanField;
-        
-        private string configurationField;
-        
-        private string overrideField;
-        
-        private string rebuildField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Projects {
-            get {
-                return this.projectsField;
-            }
-            set {
-                this.projectsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Clean {
-            get {
-                return this.cleanField;
-            }
-            set {
-                this.cleanField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Configuration {
-            get {
-                return this.configurationField;
-            }
-            set {
-                this.configurationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Override {
-            get {
-                return this.overrideField;
-            }
-            set {
-                this.overrideField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Rebuild {
-            get {
-                return this.rebuildField;
-            }
-            set {
-                this.rebuildField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Vbc", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeVbc : TaskType {
-        
-        private string additionalLibPathsField;
-        
-        private string addModulesField;
-        
-        private string baseAddressField;
-        
-        private string codePageField;
-        
-        private string debugTypeField;
-        
-        private string defineConstantsField;
-        
-        private string delaySignField;
-        
-        private string disabledWarningsField;
-        
-        private string documentationFileField;
-        
-        private string emitDebugInformationField;
-        
-        private string errorReportField;
-        
-        private string fileAlignmentField;
-        
-        private string generateDocumentationField;
-        
-        private string importsField;
-        
-        private string keyContainerField;
-        
-        private string keyFileField;
-        
-        private string linkResourcesField;
-        
-        private string mainEntryPointField;
-        
-        private string noConfigField;
-        
-        private string noLogoField;
-        
-        private string noStandardLibField;
-        
-        private string noWarningsField;
-        
-        private string optimizeField;
-        
-        private string optionCompareField;
-        
-        private string optionExplicitField;
-        
-        private string optionStrictField;
-        
-        private string outputAssemblyField;
-        
-        private string platformField;
-        
-        private string referencesField;
-        
-        private string removeIntegerChecksField;
-        
-        private string resourcesField;
-        
-        private string responseFilesField;
-        
-        private string rootNamespaceField;
-        
-        private string sdkPathField;
-        
-        private string sourcesField;
-        
-        private string targetCompactFrameworkField;
-        
-        private string targetTypeField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        private string treatWarningsAsErrorsField;
-        
-        private string useHostCompilerIfAvailableField;
-        
-        private string utf8OutputField;
-        
-        private string verbosityField;
-        
-        private string warningsAsErrorsField;
-        
-        private string warningsNotAsErrorsField;
-        
-        private string win32IconField;
-        
-        private string win32ResourceField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AdditionalLibPaths {
-            get {
-                return this.additionalLibPathsField;
-            }
-            set {
-                this.additionalLibPathsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AddModules {
-            get {
-                return this.addModulesField;
-            }
-            set {
-                this.addModulesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BaseAddress {
-            get {
-                return this.baseAddressField;
-            }
-            set {
-                this.baseAddressField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CodePage {
-            get {
-                return this.codePageField;
-            }
-            set {
-                this.codePageField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DebugType {
-            get {
-                return this.debugTypeField;
-            }
-            set {
-                this.debugTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DefineConstants {
-            get {
-                return this.defineConstantsField;
-            }
-            set {
-                this.defineConstantsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DelaySign {
-            get {
-                return this.delaySignField;
-            }
-            set {
-                this.delaySignField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DisabledWarnings {
-            get {
-                return this.disabledWarningsField;
-            }
-            set {
-                this.disabledWarningsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DocumentationFile {
-            get {
-                return this.documentationFileField;
-            }
-            set {
-                this.documentationFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EmitDebugInformation {
-            get {
-                return this.emitDebugInformationField;
-            }
-            set {
-                this.emitDebugInformationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ErrorReport {
-            get {
-                return this.errorReportField;
-            }
-            set {
-                this.errorReportField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FileAlignment {
-            get {
-                return this.fileAlignmentField;
-            }
-            set {
-                this.fileAlignmentField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string GenerateDocumentation {
-            get {
-                return this.generateDocumentationField;
-            }
-            set {
-                this.generateDocumentationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Imports {
-            get {
-                return this.importsField;
-            }
-            set {
-                this.importsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyContainer {
-            get {
-                return this.keyContainerField;
-            }
-            set {
-                this.keyContainerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyFile {
-            get {
-                return this.keyFileField;
-            }
-            set {
-                this.keyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LinkResources {
-            get {
-                return this.linkResourcesField;
-            }
-            set {
-                this.linkResourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MainEntryPoint {
-            get {
-                return this.mainEntryPointField;
-            }
-            set {
-                this.mainEntryPointField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoConfig {
-            get {
-                return this.noConfigField;
-            }
-            set {
-                this.noConfigField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoLogo {
-            get {
-                return this.noLogoField;
-            }
-            set {
-                this.noLogoField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoStandardLib {
-            get {
-                return this.noStandardLibField;
-            }
-            set {
-                this.noStandardLibField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoWarnings {
-            get {
-                return this.noWarningsField;
-            }
-            set {
-                this.noWarningsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Optimize {
-            get {
-                return this.optimizeField;
-            }
-            set {
-                this.optimizeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OptionCompare {
-            get {
-                return this.optionCompareField;
-            }
-            set {
-                this.optionCompareField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OptionExplicit {
-            get {
-                return this.optionExplicitField;
-            }
-            set {
-                this.optionExplicitField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OptionStrict {
-            get {
-                return this.optionStrictField;
-            }
-            set {
-                this.optionStrictField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputAssembly {
-            get {
-                return this.outputAssemblyField;
-            }
-            set {
-                this.outputAssemblyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Platform {
-            get {
-                return this.platformField;
-            }
-            set {
-                this.platformField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string References {
-            get {
-                return this.referencesField;
-            }
-            set {
-                this.referencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RemoveIntegerChecks {
-            get {
-                return this.removeIntegerChecksField;
-            }
-            set {
-                this.removeIntegerChecksField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Resources {
-            get {
-                return this.resourcesField;
-            }
-            set {
-                this.resourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResponseFiles {
-            get {
-                return this.responseFilesField;
-            }
-            set {
-                this.responseFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string RootNamespace {
-            get {
-                return this.rootNamespaceField;
-            }
-            set {
-                this.rootNamespaceField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SdkPath {
-            get {
-                return this.sdkPathField;
-            }
-            set {
-                this.sdkPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetCompactFramework {
-            get {
-                return this.targetCompactFrameworkField;
-            }
-            set {
-                this.targetCompactFrameworkField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetType {
-            get {
-                return this.targetTypeField;
-            }
-            set {
-                this.targetTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TreatWarningsAsErrors {
-            get {
-                return this.treatWarningsAsErrorsField;
-            }
-            set {
-                this.treatWarningsAsErrorsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string UseHostCompilerIfAvailable {
-            get {
-                return this.useHostCompilerIfAvailableField;
-            }
-            set {
-                this.useHostCompilerIfAvailableField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Utf8Output {
-            get {
-                return this.utf8OutputField;
-            }
-            set {
-                this.utf8OutputField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Verbosity {
-            get {
-                return this.verbosityField;
-            }
-            set {
-                this.verbosityField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WarningsAsErrors {
-            get {
-                return this.warningsAsErrorsField;
-            }
-            set {
-                this.warningsAsErrorsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WarningsNotAsErrors {
-            get {
-                return this.warningsNotAsErrorsField;
-            }
-            set {
-                this.warningsNotAsErrorsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Icon {
-            get {
-                return this.win32IconField;
-            }
-            set {
-                this.win32IconField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Resource {
-            get {
-                return this.win32ResourceField;
-            }
-            set {
-                this.win32ResourceField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Vjc", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeVjc : TaskType {
-        
-        private string additionalLibPathsField;
-        
-        private string addModulesField;
-        
-        private string baseAddressField;
-        
-        private string codePageField;
-        
-        private string debugTypeField;
-        
-        private string defineConstantsField;
-        
-        private string delaySignField;
-        
-        private string disabledWarningsField;
-        
-        private string disableExtensionsField;
-        
-        private string documentationFileField;
-        
-        private string emitDebugInformationField;
-        
-        private string fileAlignmentField;
-        
-        private string jcpaField;
-        
-        private string keyContainerField;
-        
-        private string keyFileField;
-        
-        private string linkResourcesField;
-        
-        private string mainEntryPointField;
-        
-        private string noConfigField;
-        
-        private string noLogoField;
-        
-        private string optimizeField;
-        
-        private string outputAssemblyField;
-        
-        private string referencesField;
-        
-        private string resourcesField;
-        
-        private string responseFilesField;
-        
-        private string secureScopingField;
-        
-        private string sourcesField;
-        
-        private string targetTypeField;
-        
-        private string timeoutField;
-        
-        private string toolPathField;
-        
-        private string treatWarningsAsErrorsField;
-        
-        private string utf8OutputField;
-        
-        private string warningLevelField;
-        
-        private string win32IconField;
-        
-        private string win32ResourceField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AdditionalLibPaths {
-            get {
-                return this.additionalLibPathsField;
-            }
-            set {
-                this.additionalLibPathsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string AddModules {
-            get {
-                return this.addModulesField;
-            }
-            set {
-                this.addModulesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string BaseAddress {
-            get {
-                return this.baseAddressField;
-            }
-            set {
-                this.baseAddressField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string CodePage {
-            get {
-                return this.codePageField;
-            }
-            set {
-                this.codePageField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DebugType {
-            get {
-                return this.debugTypeField;
-            }
-            set {
-                this.debugTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DefineConstants {
-            get {
-                return this.defineConstantsField;
-            }
-            set {
-                this.defineConstantsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DelaySign {
-            get {
-                return this.delaySignField;
-            }
-            set {
-                this.delaySignField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DisabledWarnings {
-            get {
-                return this.disabledWarningsField;
-            }
-            set {
-                this.disabledWarningsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DisableExtensions {
-            get {
-                return this.disableExtensionsField;
-            }
-            set {
-                this.disableExtensionsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string DocumentationFile {
-            get {
-                return this.documentationFileField;
-            }
-            set {
-                this.documentationFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string EmitDebugInformation {
-            get {
-                return this.emitDebugInformationField;
-            }
-            set {
-                this.emitDebugInformationField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string FileAlignment {
-            get {
-                return this.fileAlignmentField;
-            }
-            set {
-                this.fileAlignmentField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Jcpa {
-            get {
-                return this.jcpaField;
-            }
-            set {
-                this.jcpaField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyContainer {
-            get {
-                return this.keyContainerField;
-            }
-            set {
-                this.keyContainerField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string KeyFile {
-            get {
-                return this.keyFileField;
-            }
-            set {
-                this.keyFileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string LinkResources {
-            get {
-                return this.linkResourcesField;
-            }
-            set {
-                this.linkResourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string MainEntryPoint {
-            get {
-                return this.mainEntryPointField;
-            }
-            set {
-                this.mainEntryPointField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoConfig {
-            get {
-                return this.noConfigField;
-            }
-            set {
-                this.noConfigField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string NoLogo {
-            get {
-                return this.noLogoField;
-            }
-            set {
-                this.noLogoField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Optimize {
-            get {
-                return this.optimizeField;
-            }
-            set {
-                this.optimizeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputAssembly {
-            get {
-                return this.outputAssemblyField;
-            }
-            set {
-                this.outputAssemblyField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string References {
-            get {
-                return this.referencesField;
-            }
-            set {
-                this.referencesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Resources {
-            get {
-                return this.resourcesField;
-            }
-            set {
-                this.resourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ResponseFiles {
-            get {
-                return this.responseFilesField;
-            }
-            set {
-                this.responseFilesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string SecureScoping {
-            get {
-                return this.secureScopingField;
-            }
-            set {
-                this.secureScopingField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TargetType {
-            get {
-                return this.targetTypeField;
-            }
-            set {
-                this.targetTypeField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Timeout {
-            get {
-                return this.timeoutField;
-            }
-            set {
-                this.timeoutField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string ToolPath {
-            get {
-                return this.toolPathField;
-            }
-            set {
-                this.toolPathField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string TreatWarningsAsErrors {
-            get {
-                return this.treatWarningsAsErrorsField;
-            }
-            set {
-                this.treatWarningsAsErrorsField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Utf8Output {
-            get {
-                return this.utf8OutputField;
-            }
-            set {
-                this.utf8OutputField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WarningLevel {
-            get {
-                return this.warningLevelField;
-            }
-            set {
-                this.warningLevelField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Icon {
-            get {
-                return this.win32IconField;
-            }
-            set {
-                this.win32IconField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Win32Resource {
-            get {
-                return this.win32ResourceField;
-            }
-            set {
-                this.win32ResourceField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("VjsResGen", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeVjsResGen : TaskType {
-        
-        private string sourcesField;
-        
-        private string outputResxField;
-        
-        private string wildCardsField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Sources {
-            get {
-                return this.sourcesField;
-            }
-            set {
-                this.sourcesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string OutputResx {
-            get {
-                return this.outputResxField;
-            }
-            set {
-                this.outputResxField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string WildCards {
-            get {
-                return this.wildCardsField;
-            }
-            set {
-                this.wildCardsField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("Warning", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeWarning : TaskType {
-        
-        private string textField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Text {
-            get {
-                return this.textField;
-            }
-            set {
-                this.textField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.ComponentModel.DesignerCategoryAttribute("code")]
-    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/developer/msbuild/2003")]
-    [System.Xml.Serialization.XmlRootAttribute("WriteLinesToFile", Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IsNullable=false)]
-    public partial class TargetTypeWriteLinesToFile : TaskType {
-        
-        private string fileField;
-        
-        private string linesField;
-        
-        private string overwriteField;
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string File {
-            get {
-                return this.fileField;
-            }
-            set {
-                this.fileField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Lines {
-            get {
-                return this.linesField;
-            }
-            set {
-                this.linesField = value;
-            }
-        }
-        
-        /// <remarks/>
-        [System.Xml.Serialization.XmlAttributeAttribute()]
-        public string Overwrite {
-            get {
-                return this.overwriteField;
-            }
-            set {
-                this.overwriteField = value;
-            }
-        }
-    }
-    
-    /// <remarks/>
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "0.0.0.0")]
-    [System.SerializableAttribute()]
-    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/developer/msbuild/2003", IncludeInSchema=false)]
-    public enum ItemsChoiceType {
-        
-        /// <remarks/>
-        AllowUnsafeBlocks,
-        
-        /// <remarks/>
-        AppDesignerFolder,
-        
-        /// <remarks/>
-        ApplicationIcon,
-        
-        /// <remarks/>
-        ApplicationRevision,
-        
-        /// <remarks/>
-        ApplicationVersion,
-        
-        /// <remarks/>
-        AssemblyKeyContainerName,
-        
-        /// <remarks/>
-        AssemblyKeyProviderName,
-        
-        /// <remarks/>
-        AssemblyName,
-        
-        /// <remarks/>
-        AssemblyOriginatorKeyFile,
-        
-        /// <remarks/>
-        AssemblyOriginatorKeyFileType,
-        
-        /// <remarks/>
-        AssemblyOriginatorKeyMode,
-        
-        /// <remarks/>
-        AssemblyType,
-        
-        /// <remarks/>
-        AutorunEnabled,
-        
-        /// <remarks/>
-        BaseAddress,
-        
-        /// <remarks/>
-        BootstrapperComponentsLocation,
-        
-        /// <remarks/>
-        BootstrapperComponentsUrl,
-        
-        /// <remarks/>
-        BootstrapperEnabled,
-        
-        /// <remarks/>
-        CheckForOverflowUnderflow,
-        
-        /// <remarks/>
-        CodePage,
-        
-        /// <remarks/>
-        Configuration,
-        
-        /// <remarks/>
-        ConfigurationOverrideFile,
-        
-        /// <remarks/>
-        CreateWebPageOnPublish,
-        
-        /// <remarks/>
-        DebugSecurityZoneURL,
-        
-        /// <remarks/>
-        DebugSymbols,
-        
-        /// <remarks/>
-        DebugType,
-        
-        /// <remarks/>
-        DefaultClientScript,
-        
-        /// <remarks/>
-        DefaultHTMLPageLayout,
-        
-        /// <remarks/>
-        DefaultTargetSchema,
-        
-        /// <remarks/>
-        DefineConstants,
-        
-        /// <remarks/>
-        DefineDebug,
-        
-        /// <remarks/>
-        DefineTrace,
-        
-        /// <remarks/>
-        DelaySign,
-        
-        /// <remarks/>
-        DeployDirSuffix,
-        
-        /// <remarks/>
-        DisableLangXtns,
-        
-        /// <remarks/>
-        DisallowUrlActiviation,
-        
-        /// <remarks/>
-        DocumentationFile,
-        
-        /// <remarks/>
-        EnableASPDebugging,
-        
-        /// <remarks/>
-        EnableASPXDebugging,
-        
-        /// <remarks/>
-        EnableSQLServerDebugging,
-        
-        /// <remarks/>
-        EnableSecurityDebugging,
-        
-        /// <remarks/>
-        EnableUnmanagedDebugging,
-        
-        /// <remarks/>
-        ErrorReport,
-        
-        /// <remarks/>
-        ExcludedPermissions,
-        
-        /// <remarks/>
-        FallbackCulture,
-        
-        /// <remarks/>
-        FileAlignment,
-        
-        /// <remarks/>
-        FileUpgradeFlags,
-        
-        /// <remarks/>
-        FormFactorID,
-        
-        /// <remarks/>
-        FxCopLogFile,
-        
-        /// <remarks/>
-        FxCopProjectFile,
-        
-        /// <remarks/>
-        FxCopRules,
-        
-        /// <remarks/>
-        GenerateManifests,
-        
-        /// <remarks/>
-        GenerateSerializationAssemblies,
-        
-        /// <remarks/>
-        Install,
-        
-        /// <remarks/>
-        InstallFrom,
-        
-        /// <remarks/>
-        InstallUrl,
-        
-        /// <remarks/>
-        IsWebBootstrapper,
-        
-        /// <remarks/>
-        JCPA,
-        
-        /// <remarks/>
-        LangVersion,
-        
-        /// <remarks/>
-        ManifestCertificateThumbprint,
-        
-        /// <remarks/>
-        ManifestKeyFile,
-        
-        /// <remarks/>
-        MapFileExtensions,
-        
-        /// <remarks/>
-        MinimumRequiredVersion,
-        
-        /// <remarks/>
-        MyType,
-        
-        /// <remarks/>
-        NoConfig,
-        
-        /// <remarks/>
-        NoStandardLibraries,
-        
-        /// <remarks/>
-        NoStdLib,
-        
-        /// <remarks/>
-        NoWarn,
-        
-        /// <remarks/>
-        OSVersion,
-        
-        /// <remarks/>
-        OpenBrowserOnPublish,
-        
-        /// <remarks/>
-        Optimize,
-        
-        /// <remarks/>
-        OptionCompare,
-        
-        /// <remarks/>
-        OptionExplicit,
-        
-        /// <remarks/>
-        OptionStrict,
-        
-        /// <remarks/>
-        OutputPath,
-        
-        /// <remarks/>
-        OutputType,
-        
-        /// <remarks/>
-        Platform,
-        
-        /// <remarks/>
-        PlatformFamilyName,
-        
-        /// <remarks/>
-        PlatformID,
-        
-        /// <remarks/>
-        PlatformTarget,
-        
-        /// <remarks/>
-        PostBuildEvent,
-        
-        /// <remarks/>
-        PreBuildEvent,
-        
-        /// <remarks/>
-        ProductName,
-        
-        /// <remarks/>
-        ProductVersion,
-        
-        /// <remarks/>
-        ProjectGuid,
-        
-        /// <remarks/>
-        ProjectType,
-        
-        /// <remarks/>
-        ProjectTypeGuids,
-        
-        /// <remarks/>
-        PublishUrl,
-        
-        /// <remarks/>
-        PublisherName,
-        
-        /// <remarks/>
-        RecursePath,
-        
-        /// <remarks/>
-        ReferencePath,
-        
-        /// <remarks/>
-        RegisterForComInterop,
-        
-        /// <remarks/>
-        RemoteDebugEnabled,
-        
-        /// <remarks/>
-        RemoteDebugMachine,
-        
-        /// <remarks/>
-        RemoveIntegerChecks,
-        
-        /// <remarks/>
-        ResponseFile,
-        
-        /// <remarks/>
-        RootNamespace,
-        
-        /// <remarks/>
-        RunFxCop,
-        
-        /// <remarks/>
-        RunPostBuildEvent,
-        
-        /// <remarks/>
-        SchemaVersion,
-        
-        /// <remarks/>
-        SecureScoping,
-        
-        /// <remarks/>
-        SignAssembly,
-        
-        /// <remarks/>
-        SignManifests,
-        
-        /// <remarks/>
-        StartAction,
-        
-        /// <remarks/>
-        StartArguments,
-        
-        /// <remarks/>
-        StartPage,
-        
-        /// <remarks/>
-        StartProgram,
-        
-        /// <remarks/>
-        StartURL,
-        
-        /// <remarks/>
-        StartWithIE,
-        
-        /// <remarks/>
-        StartWorkingDirectory,
-        
-        /// <remarks/>
-        StartupObject,
-        
-        /// <remarks/>
-        SupportUrl,
-        
-        /// <remarks/>
-        TargetCulture,
-        
-        /// <remarks/>
-        TargetZone,
-        
-        /// <remarks/>
-        TreatWarningsAsErrors,
-        
-        /// <remarks/>
-        TrustUrlParameters,
-        
-        /// <remarks/>
-        TypeComplianceDiagnostics,
-        
-        /// <remarks/>
-        UTF8OutPut,
-        
-        /// <remarks/>
-        UpdateEnabled,
-        
-        /// <remarks/>
-        UpdateInterval,
-        
-        /// <remarks/>
-        UpdateIntervalUnits,
-        
-        /// <remarks/>
-        UpdateMode,
-        
-        /// <remarks/>
-        UpdatePeriodically,
-        
-        /// <remarks/>
-        UpdateRequired,
-        
-        /// <remarks/>
-        UpdateUrl,
-        
-        /// <remarks/>
-        UseVSHostingProcess,
-        
-        /// <remarks/>
-        VSTO_TrustAssembliesLocation,
-        
-        /// <remarks/>
-        WarningLevel,
-        
-        /// <remarks/>
-        WarningsAsErrors,
-        
-        /// <remarks/>
-        WebPage,
-        
-        /// <remarks/>
-        Win32ResourceFile,
-    }
-}
diff --git a/CrowIDE/src/Project.cs b/CrowIDE/src/Project.cs
new file mode 100644 (file)
index 0000000..2c72431
--- /dev/null
@@ -0,0 +1,164 @@
+//
+// Project.cs
+//
+// Author:
+//       jp <>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// 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.Xml;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace CrowIDE
+{
+       public class Project {
+               string path;
+               XmlDocument xmlDoc;
+               XmlNode nodeProject;
+               XmlNode nodeProps;
+               XmlNodeList nodesItems;
+               Solution solution;
+
+               public string Name {
+                       get { return solution.projects.FirstOrDefault(p=>p.ProjectGuid == ProjectGuid).ProjectName; }
+               }
+
+               #region Project properties
+               public string RootDir {
+                       get { return Path.GetDirectoryName (path); }
+               }
+               public string ToolsVersion {
+                       get { return nodeProject?.Attributes ["ToolsVersion"]?.Value; }
+               }
+               public string DefaultTargets {
+                       get { return nodeProject?.Attributes ["DefaultTargets"]?.Value; }
+               }
+               public string ProjectGuid {
+                       get { return nodeProps["ProjectGuid"]?.InnerText; }
+               }
+               public string AssemblyName {
+                       get { return nodeProps["AssemblyName"]?.InnerText; }
+               }
+               public string OutputType {
+                       get { return nodeProps["OutputType"]?.InnerText; }
+               }
+               public string RootNamespace {
+                       get { return nodeProps["RootNamespace"]?.InnerText; }
+               }
+               public bool AllowUnsafeBlocks {
+                       get { return bool.Parse (nodeProps["AllowUnsafeBlocks"]?.InnerText); }
+               }
+               public bool NoStdLib {
+                       get { return bool.Parse (nodeProps["NoStdLib"]?.InnerText); }
+               }
+               public bool TreatWarningsAsErrors {
+                       get { return bool.Parse (nodeProps["TreatWarningsAsErrors"]?.InnerText); }
+               }
+               public bool SignAssembly {
+                       get { return bool.Parse (nodeProps["SignAssembly"]?.InnerText); }
+               }
+               public string TargetFrameworkVersion {
+                       get { return nodeProps["TargetFrameworkVersion"]?.InnerText; }
+               }
+               public string Description {
+                       get { return nodeProps["Description"]?.InnerText; }
+               }
+               public string OutputPath {
+                       get { return nodeProps["OutputPath"]?.InnerText; }
+               }
+               public string IntermediateOutputPath {
+                       get { return nodeProps["IntermediateOutputPath"]?.InnerText; }
+               }
+               #endregion
+
+               public List<ProjectItem> Items {
+                       get {
+                               List<ProjectItem> tmp = new List<ProjectItem> ();
+                               foreach (XmlNode i in nodesItems) {
+                                       foreach (XmlNode f in i.ChildNodes) {
+                                               tmp.Add (new ProjectItem (this, f));
+                                       }
+                               }
+                               return tmp;
+                       }
+               }
+
+               public List<ProjectNode> RootItems {
+                       get {
+                               ProjectNode root = new ProjectNode (this, ItemType.VirtualGroup, RootNamespace);
+                               List<ProjectItem> items = Items;
+
+                               ProjectNode refs = new ProjectNode (this, ItemType.ReferenceGroup, "References");
+                               root.ChildNodes.Add (refs);
+
+                               foreach (ProjectItem pn in items) {
+                                       switch (pn.Type) {
+                                       case ItemType.Reference:
+                                               refs.ChildNodes.Add (pn);
+                                               break;
+                                       case ItemType.Compile:
+                                       case ItemType.None:
+                                       case ItemType.EmbeddedResource:                                         
+                                               ProjectNode curNode = root;
+                                               string[] folds = pn.Path.Split ('\\', '/');
+                                               for (int i = 0; i < folds.Length - 1; i++) {
+                                                       ProjectNode nextNode = curNode.ChildNodes.FirstOrDefault (n => n.DisplayName == folds [i] && n.Type == ItemType.VirtualGroup);
+                                                       if (nextNode == null) {
+                                                               nextNode = new ProjectNode (this, ItemType.VirtualGroup, folds [i]);
+                                                               curNode.ChildNodes.Add (nextNode);
+                                                       }
+                                                       curNode = nextNode;
+                                               }
+                                               curNode.ChildNodes.Add (pn);
+                                               break;
+                                       }
+                               }
+                               root.SortChilds ();
+
+                               return root.ChildNodes;
+                       }
+
+               }
+               public Project () {}
+
+               public Project (string _path, Solution _solution){
+                       solution = _solution;
+                       path = _path;
+                       xmlDoc = new XmlDocument();
+                       using (Stream ins = new FileStream (_path, FileMode.Open)) {
+                               xmlDoc.Load (new XmlTextReader(ins) { Namespaces = false });
+                       }
+
+                       nodeProject = xmlDoc.SelectSingleNode("Project");
+                       XmlNodeList nodesProps = xmlDoc.SelectNodes ("/Project/PropertyGroup");
+
+                       foreach (XmlNode n in nodesProps) {
+                               if (n.Attributes ["Condition"] == null)
+                                       nodeProps = n;
+                       }
+                       nodesItems = xmlDoc.SelectNodes ("/Project/ItemGroup");
+
+               }
+       }
+}
+
diff --git a/CrowIDE/src/Solution.cs b/CrowIDE/src/Solution.cs
new file mode 100644 (file)
index 0000000..888bf68
--- /dev/null
@@ -0,0 +1,289 @@
+//
+// Solution.cs
+//
+//code taken in project https://sourceforge.net/projects/syncproj/
+// no licence info was included, I took the liberty to modify it.
+// Author:
+//             tarmopikaro
+//      2018 Jean-Philippe Bruyère
+//MIT-licenced
+
+using Microsoft.Win32;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml.Serialization;
+
+namespace CrowIDE{
+       public class SolutionProject {
+               public string ProjectHostGuid;
+               public string ProjectName;
+               public string RelativePath;
+               public string ProjectGuid;
+       }
+       /// <summary>
+/// .sln loaded into class.
+/// </summary>
+       public class Solution
+       {
+           /// <summary>
+           /// Solution name
+           /// </summary>
+           public String name;
+
+               public string DisplayName {
+                       get { return name; }
+               }
+
+           /// <summary>
+           /// File path from where solution was loaded.
+           /// </summary>
+           [XmlIgnore]
+           public String path;
+
+           /// <summary>
+           /// Solution name for debugger.
+           /// </summary>
+           [ExcludeFromCodeCoverage]
+           public override string ToString()
+           {
+               return "Solution, name = " + name;
+           }
+
+           /// <summary>
+           /// Gets solution path
+           /// </summary>
+           /// <returns></returns>
+           public String SolutionFolder
+           {
+                       get { return Path.GetDirectoryName (path); }
+           }
+
+               public IList<Project> Projects {
+                       get {
+                               List<Project> tmp = new List<Project> ();
+                               foreach (SolutionProject p in projects) {
+                                       string pp = Path.Combine (SolutionFolder, p.RelativePath.Replace('\\','/'));
+                                       tmp.Add (new Project (pp, this));
+                               }
+                               return tmp;
+                       }
+               }
+
+           double slnVer;                                      // 11.00 - vs2010, 12.00 - vs2015
+
+           /// <summary>
+           /// Visual studio version information used for generation, for example 2010, 2012, 2015 and so on...
+           /// </summary>
+           public int fileFormatVersion;
+
+           /// <summary>
+           /// null for old visual studio's
+           /// </summary>
+           public String VisualStudioVersion;
+           
+           /// <summary>
+           /// null for old visual studio's
+           /// </summary>
+           public String MinimumVisualStudioVersion;
+
+           /// <summary>
+           /// List of project included into solution.
+           /// </summary>
+           public List<SolutionProject> projects = new List<SolutionProject>();
+
+           /// <summary>
+           /// List of configuration list, in form "{Configuration}|{Platform}", for example "Release|Win32".
+           /// To extract individual platforms / configuration list, use following functions.
+           /// </summary>
+           public List<String> configurations = new List<string>();
+
+           /// <summary>
+           /// Extracts platfroms supported by solution
+           /// </summary>
+           public IEnumerable<String> getPlatforms()
+           {
+               return configurations.Select(x => x.Split('|')[1]).Distinct();
+           }
+
+           /// <summary>
+           /// Extracts configuration names supported by solution
+           /// </summary>
+           public IEnumerable<String> getConfigurations()
+           {
+               return configurations.Select(x => x.Split('|')[0]).Distinct();
+           }
+
+
+           /// <summary>
+           /// Creates new solution.
+           /// </summary>
+           public Solution() { }
+
+           /// <summary>
+           /// Loads visual studio .sln solution
+           /// </summary>
+           /// <exception cref="System.IO.FileNotFoundException">The file specified in path was not found.</exception>
+           static public Solution LoadSolution(string path)
+           {
+               Solution s = new Solution();
+               s.path = path;
+
+               String slnTxt = File.ReadAllText(path);
+               //
+               //  Extra line feed is used by Visual studio, cmake does not generate extra line feed.
+               //
+               s.slnVer = Double.Parse(Regex.Match(slnTxt, "[\r\n]?Microsoft Visual Studio Solution File, Format Version ([0-9.]+)", RegexOptions.Multiline).Groups[1].Value, CultureInfo.InvariantCulture);
+
+               int vsNumber = Int32.Parse(Regex.Match(slnTxt, "^\\# Visual Studio (Express )?([0-9]+)", RegexOptions.Multiline).Groups[2].Value);
+               if (vsNumber > 2000)
+                   s.fileFormatVersion = vsNumber;
+               else
+                   s.fileFormatVersion = vsNumber - 14 + 2015;     // Visual Studio 14 => vs2015, formula might not be applicable for future vs versions.
+
+               foreach (String line in new String[] { "VisualStudioVersion", "MinimumVisualStudioVersion" })
+               {
+                   var m = Regex.Match(slnTxt, "^" + line + " = ([0-9.]+)", RegexOptions.Multiline);
+                   String v = null;
+                   if (m.Success)
+                       v = m.Groups[1].Value;
+
+                   s.GetType().GetField(line).SetValue(s, v);
+               }
+
+               Regex reProjects = new Regex(
+                   "Project\\(\"(?<ProjectHostGuid>{[A-F0-9-]+})\"\\) = \"(?<ProjectName>.*?)\", \"(?<RelativePath>.*?)\", \"(?<ProjectGuid>{[A-F0-9-]+})\"[\r\n]*(?<dependencies>.*?)EndProject[\r\n]+",
+                   RegexOptions.Singleline);
+
+
+               reProjects.Replace(slnTxt, new MatchEvaluator(m =>
+               {
+                   SolutionProject p = new SolutionProject();
+
+                   foreach (String g in reProjects.GetGroupNames())
+                   {
+                       if (g == "0")   //"0" - RegEx special kind of group
+                           continue;
+
+                       //
+                       // ProjectHostGuid, ProjectName, RelativePath, ProjectGuid fields/properties are set here.
+                       //
+                       String v = m.Groups[g].ToString();
+                       if (g != "dependencies")
+                       {
+                           FieldInfo fi = p.GetType().GetField(g);
+                           if (fi != null)
+                           {
+                               fi.SetValue(p, v);
+                           }
+                           else
+                           {
+                               p.GetType().GetProperty(g).SetValue(p, v);
+                           }
+                           continue;
+                       }
+
+                       if (v == "")    // No dependencies set
+                           continue;
+
+                       String depsv = new Regex("ProjectSection\\(ProjectDependencies\\)[^\r\n]*?[\r\n]+" + "(.*?)" + "EndProjectSection", RegexOptions.Singleline).Match(v).Groups[1].Value;
+
+                       //
+                       // key is always equal to it's value.
+                       // http://stackoverflow.com/questions/5629981/question-about-visual-studio-sln-file-format
+                       //
+                       var ProjectDependencies = new Regex("\\s*?({[A-F0-9-]+}) = ({[A-F0-9-]+})[\r\n]+", RegexOptions.Multiline).Matches(depsv).Cast<Match>().Select(x => x.Groups[1].Value).ToList();
+                   } //foreach
+                   s.projects.Add(p);
+                   return "";
+               }
+               )
+               );
+
+               new Regex("GlobalSection\\(SolutionConfigurationPlatforms\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m2 =>
+               {
+                   s.configurations = new Regex("\\s*(.*)\\s+=").Matches(m2.Groups[1].ToString()).Cast<Match>().Select(x => x.Groups[1].Value).ToList();
+                   return "";
+               }
+               ));
+
+               new Regex("GlobalSection\\(ProjectConfigurationPlatforms\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m2 =>
+               {
+                   foreach (Match m3 in new Regex("\\s*({[A-F0-9-]+})\\.(.*?)\\.(.*?)\\s+=\\s+(.*?)[\r\n]+").Matches(m2.Groups[1].ToString()))
+                   {
+                       String guid = m3.Groups[1].Value;
+                       String solutionConfig = m3.Groups[2].Value;
+                       String action = m3.Groups[3].Value;
+                       String projectConfig = m3.Groups[4].Value;
+
+                       SolutionProject p = s.projects.Where(x => x.ProjectGuid == guid).FirstOrDefault();
+                       if (p == null)
+                           continue;
+
+                       int iConfigIndex = s.configurations.IndexOf(solutionConfig);
+                       if (iConfigIndex == -1)
+                           continue;
+
+//                     while (p.slnConfigurations.Count < s.configurations.Count)
+//                     {
+//                         p.slnConfigurations.Add(null);
+//                         p.slnBuildProject.Add(false);
+//                     }
+//
+//                     if (action == "ActiveCfg")
+//                     {
+//                         p.slnConfigurations[iConfigIndex] = projectConfig;
+//                     }
+//                     else
+//                     {
+//                         if (action.StartsWith("Build"))
+//                         {
+//                             p.slnBuildProject[iConfigIndex] = true;
+//                         }
+//                         else
+//                         {
+//                             if (action.StartsWith("Deploy"))
+//                             {
+//                                 if (p.slnDeployProject == null) p.slnDeployProject = new List<bool?>();
+//
+//                                 while (p.slnDeployProject.Count < s.configurations.Count)
+//                                     p.slnDeployProject.Add(null);
+//
+//                                 p.slnDeployProject[iConfigIndex] = true;
+//                             }
+//                         }
+//                     } //if-esle
+                   }
+                   return "";
+               }
+               ));
+
+               //
+               // Initializes parent-child relationship.
+               //
+               new Regex("GlobalSection\\(NestedProjects\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m4 =>
+               {
+                   String v = m4.Groups[1].Value;
+                   new Regex("\\s*?({[A-F0-9-]+}) = ({[A-F0-9-]+})[\r\n]+", RegexOptions.Multiline).Replace(v, new MatchEvaluator(m5 =>
+                   {
+                       String[] args = m5.Groups.Cast<Group>().Skip(1).Select(x => x.Value).ToArray();
+                       SolutionProject child = s.projects.Where(x => args[0] == x.ProjectGuid).FirstOrDefault();
+                       SolutionProject parent = s.projects.Where(x => args[1] == x.ProjectGuid).FirstOrDefault();
+//                     parent.nodes.Add(child);
+//                     child.parent = parent;
+                       return "";
+                   }));
+                   return "";
+               }
+               ));
+
+               return s;
+           } //LoadSolution
+       } //class Solution
+}
diff --git a/CrowIDE/src/VerticalLine.cs b/CrowIDE/src/VerticalLine.cs
new file mode 100644 (file)
index 0000000..0cca19f
--- /dev/null
@@ -0,0 +1,57 @@
+//
+// VerticalLine.cs
+//
+// Author:
+//       jp <>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// 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 Crow;
+
+namespace CrowIDE
+{
+       public class VerticalLine : GraphicObject
+       {
+               public VerticalLine () : base()
+               {
+               }
+
+               protected override void onDraw (Cairo.Context gr)
+               {
+                       base.onDraw (gr);
+                       Foreground.SetAsSource (gr);
+                       Rectangle r = ClientRectangle;
+                       double x = r.Center.X - 0.5;
+                       double y;
+                       gr.LineWidth = 1;
+                       gr.MoveTo (x, r.Y);
+                       gr.LineTo (x, r.Bottom-8);
+
+                       for (y = 8.5+r.Y; y < r.Bottom; y += 18) {
+                               gr.MoveTo (x, y);
+                               gr.LineTo (x * 2, y);
+                       }
+
+                       gr.Stroke ();
+               }
+       }
+}
+
index 8c4c21ec7288917b69090060b0d924e871169499..4b038d9a660156df9050bc4a1e5ae596ea63620a 100644 (file)
@@ -1,94 +1,5 @@
 <?xml version="1.0"?>
 <Window Caption="Properties" Width="30%" Height="60%" AlwaysOnTop="true">
-       <MembersView Instance="{SelectedItem}" DataTest="Type"  Background="DimGray">
-       <!--                            <Template>
-                       <Scroller  Name="scroller1" Margin="1" VerticalScrolling="true"
-                               ValueChanged="./_scroller_ValueChanged">
-                               <VerticalStack LayoutChanged="./_list_LayoutChanged" Spacing="0"
-                                       Height="Fit" Name="ItemsContainer" Margin="0" VerticalAlignment="Top"/>
-                       </Scroller>
-               </Template>-->
-               <ItemTemplate>
-                       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
-                                       MouseEnter="{Background=UnitedNationsBlue}"
-                                       MouseLeave="{Background=Transparent}" >
-                               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
-                               <TextBox Margin="1" Text="{²Value}" Height="Fit" Width="50%"/>
-                       </HorizontalStack>
-               </ItemTemplate>
-               <ItemTemplate DataType="System.Boolean">
-                       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
-                                       MouseEnter="{Background=UnitedNationsBlue}"
-                                       MouseLeave="{Background=Transparent}" >
-                               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
-                               <CheckBox Background="White" Height="Stretched" Caption="" IsChecked="{²Value}"/>
-                       </HorizontalStack>
-               </ItemTemplate>
-               <ItemTemplate DataType="System.Enum">
-                       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
-                                       MouseEnter="{Background=UnitedNationsBlue}"
-                                       MouseLeave="{Background=Transparent}" >
-                               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
-                               <ComboBox Margin="0"  Height="Stretched" Width="50%" Data="{Choices}"
-                                               SelectedIndex="{²Value}">
-                                       <Template>
-                                               <Popper Name="popper" PopDirection="Bottom">
-                                                       <Template>
-                                                               <Border CornerRadius="0" Foreground="LightGray" Background="White">
-                                                                       <HorizontalStack Margin="0" Spacing="1">
-                                                                               <Label Width="Stretched" MinimumSize="80,10" Margin="1" Foreground="Black" Background="White"
-                                                                                       Text="{../../../../SelectedItem}"/>
-                                                                               <Button Width="12" Height="12" Focusable="false"
-                                                                                       Template="#Crow.Templates.ArrowButTemplate.crow">
-                                                                                       <Image Margin="1"  Path="#Crow.Images.Icons.updown.svg" SvgSub="down"/>
-                                                                               </Button>
-                                                                       </HorizontalStack>
-                                                               </Border>
-                                                       </Template>
-                                                       <Border Background="White" BorderWidth="1" Margin="1" Foreground="Black"
-                                                               MinimumSize="{../../MinimumPopupSize}" Fit="true">
-                                                               <Scroller Name="scroller1" Margin="2" VerticalScrolling="true"
-                                                                       MaximumSize="0,200"
-                                                                       HorizontalAlignment="Left"
-                                                                       ValueChanged="../../../_scroller_ValueChanged">
-                                                                       <VerticalStack LayoutChanged="../../../../_list_LayoutChanged"
-                                                                               MouseClick="../../../onMouseClick" Focusable="True"
-                                                                               Height="Fit" Name="ItemsContainer" Margin="0"
-                                                                               HorizontalAlignment="Left"
-                                                                               VerticalAlignment="Top"/>
-                                                               </Scroller>
-                                                       </Border>
-                                               </Popper>
-                                       </Template>
-                                       <ItemTemplate>
-                                               <Container Fit="true" Margin="0" Focusable="true"
-                                                               HorizontalAlignment="Left"
-                                                               MouseEnter="{Background=SteelBlue}"
-                                                               MouseLeave="{Background=Transparent}">
-                                                       <Label Text="{}" Foreground="Black"/>
-                                               </Container>
-                                       </ItemTemplate>
-                               </ComboBox>
-                       </HorizontalStack>
-               </ItemTemplate>
-               <ItemTemplate DataType="Crow.Fill">
-                       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
-                                       MouseEnter="{Background=UnitedNationsBlue}"
-                                       MouseLeave="{Background=Transparent}" >
-                               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
-                               <Popper Background="White" Margin="0" Height="Stretched" Caption="{Value}">
-                                       <Template>
-                                               <HorizontalStack Spacing="3" Height="Fit" Background="{./Background}">
-                                                       <Border Foreground="Black" Width="16" Height="10" CornerRadius="3"
-                                                               Background="{Value}">
-                                                       </Border>
-                                                       <Label Text="{./Caption}" Foreground="Black"/>
-                                               </HorizontalStack>
-                                       </Template>
-                                       <ColorPicker SelectedColor="{²Value}" Background="Onyx" Margin="5" Fit="True" />
-                               </Popper>
-                       </HorizontalStack>
-               </ItemTemplate>
-
-       </MembersView>
+       <MembersView Instance="{SelectedItem}" DataTest="Type"  Background="DimGray"
+               ItemTemplate="#CrowIDE.ui.MembersItem.template"/>
 </Window>
\ No newline at end of file
diff --git a/CrowIDE/ui/MembersItem.template b/CrowIDE/ui/MembersItem.template
new file mode 100644 (file)
index 0000000..4b1c97c
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<ItemTemplate>
+       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
+                       MouseEnter="{Background=UnitedNationsBlue}"
+                       MouseLeave="{Background=Transparent}" >
+               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
+               <TextBox Margin="1" Text="{²Value}" Height="Fit" Width="50%"/>
+       </HorizontalStack>
+</ItemTemplate>
+<ItemTemplate DataType="System.Boolean">
+       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
+                       MouseEnter="{Background=UnitedNationsBlue}"
+                       MouseLeave="{Background=Transparent}" >
+               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
+               <CheckBox Background="White" Height="Stretched" Caption="" IsChecked="{²Value}"/>
+       </HorizontalStack>
+</ItemTemplate>
+<ItemTemplate DataType="System.Enum">
+       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
+                       MouseEnter="{Background=UnitedNationsBlue}"
+                       MouseLeave="{Background=Transparent}" >
+               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
+               <ComboBox Margin="0"  Height="Stretched" Width="50%" Data="{Choices}"
+                               SelectedIndex="{²Value}">
+                       <Template>
+                               <Popper Name="popper" PopDirection="Bottom">
+                                       <Template>
+                                               <Border CornerRadius="0" Foreground="LightGray" Background="White">
+                                                       <HorizontalStack Margin="0" Spacing="1">
+                                                               <Label Width="Stretched" MinimumSize="80,10" Margin="1" Foreground="Black" Background="White"
+                                                                       Text="{../../../../SelectedItem}"/>
+                                                               <Button Width="12" Height="12" Focusable="false"
+                                                                       Template="#Crow.Templates.ArrowBut.template">
+                                                                       <Image Margin="1"  Path="#Crow.Images.Icons.updown.svg" SvgSub="down"/>
+                                                               </Button>
+                                                       </HorizontalStack>
+                                               </Border>
+                                       </Template>
+                                       <Border Background="White" BorderWidth="1" Margin="1" Foreground="Black"
+                                               MinimumSize="{../../MinimumPopupSize}" Fit="true">
+                                               <Scroller Name="scroller1" Margin="2" VerticalScrolling="true"
+                                                       MaximumSize="0,200"
+                                                       HorizontalAlignment="Left"
+                                                       ValueChanged="../../../_scroller_ValueChanged">
+                                                       <VerticalStack LayoutChanged="../../../../_list_LayoutChanged"
+                                                               MouseClick="../../../onMouseClick" Focusable="True"
+                                                               Height="Fit" Name="ItemsContainer" Margin="0"
+                                                               HorizontalAlignment="Left"
+                                                               VerticalAlignment="Top"/>
+                                               </Scroller>
+                                       </Border>
+                               </Popper>
+                       </Template>
+                       <ItemTemplate>
+                               <Container Fit="true" Margin="0" Focusable="true"
+                                               HorizontalAlignment="Left"
+                                               MouseEnter="{Background=SteelBlue}"
+                                               MouseLeave="{Background=Transparent}">
+                                       <Label Text="{}" Foreground="Black"/>
+                               </Container>
+                       </ItemTemplate>
+               </ComboBox>
+       </HorizontalStack>
+</ItemTemplate>
+<ItemTemplate DataType="Crow.Fill">
+       <HorizontalStack Focusable="true"  Height="Fit" Spacing="0"
+                       MouseEnter="{Background=UnitedNationsBlue}"
+                       MouseLeave="{Background=Transparent}" >
+               <Label Margin="1" Text="{Name}" Height="Fit" Width="50%"/>
+               <Popper Background="White" Margin="0" Height="Stretched" Caption="{Value}">
+                       <Template>
+                               <HorizontalStack Spacing="3" Height="Fit" Background="{./Background}">
+                                       <Border Foreground="Black" Width="16" Height="10" CornerRadius="3"
+                                               Background="{Value}">
+                                       </Border>
+                                       <Label Text="{./Caption}" Foreground="Black"/>
+                               </HorizontalStack>
+                       </Template>
+                       <ColorPicker SelectedColor="{²Value}" Background="Onyx" Margin="5" Fit="True" />
+               </Popper>
+       </HorizontalStack>
+</ItemTemplate>
\ No newline at end of file
index 52a9dfe974039b151601f5de870b92a440990210..484751165124867a71057e10a9b45d09ac2844fe 100755 (executable)
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Border BorderWidth="5" Margin="1" MinimumSize="10,10">
+<Window Template="#Crow.ToolWindow.template" Caption="Properties" MinimumSize="10,10" Width="Stretched" Height="Stretched">
        <VerticalStack>
                <Border Height="Fit">
                        <Label TextAlignment="Left" Text="{./Instance}" Width="Stretched"/>
@@ -10,4 +10,4 @@
                                Height="Fit" Name="ItemsContainer" Margin="0" VerticalAlignment="Top"/>
                </Scroller>
        </VerticalStack>
-</Border>
\ No newline at end of file
+</Window>
diff --git a/CrowIDE/ui/ProjectProperties.crow b/CrowIDE/ui/ProjectProperties.crow
new file mode 100644 (file)
index 0000000..1d1ec9f
--- /dev/null
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<Window Caption="Project Properties" Width="60%" Height="70%" AlwaysOnTop="true">
+       <HorizontalStack>
+               <VerticalStack Height="Fit" Width="50%">
+                       <HorizontalStack>
+                               <Label Text="Tools Version" Width="30%"/>
+                               <Label Text="{ToolsVersion}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Default Targets" Width="30%"/>
+                               <Label Text="{DefaultTargets}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Project Guid" Width="30%"/>
+                               <Label Text="{ProjectGuid}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Output Type" Width="30%"/>
+                               <Label Text="{OutputType}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Root Namespace" Width="30%"/>
+                               <Label Text="{RootNamespace}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Assembly Name" Width="30%"/>
+                               <Label Text="{AssemblyName}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Allow Unsafe Blocks" Width="30%"/>
+                               <CheckBox IsChecked="{AllowUnsafeBlocks}" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="No Std Lib" Width="30%"/>
+                               <CheckBox IsChecked="{NoStdLib}" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Treat Warnings As Errors" Width="30%"/>
+                               <CheckBox IsChecked="{TreatWarningsAsErrors}" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Sign Assembly" Width="30%"/>
+                               <CheckBox IsChecked="{SignAssembly}" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Target Framework" Width="30%"/>
+                               <Label Text="{TargetFrameworkVersion}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Description" Width="30%"/>
+                               <Label Text="{Description}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Output Path" Width="30%"/>
+                               <Label Text="{OutputPath}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+                       <HorizontalStack>
+                               <Label Text="Intermediate Output Path" Width="30%"/>
+                               <Label Text="{IntermediateOutputPath}" IsEnabled="false" Width="70%"/>
+                       </HorizontalStack>
+               </VerticalStack>
+               <TreeView Width="50%" IsRoot="true" Name="treeView" Data="{RootItems}" DataTest="Type"
+                       ItemTemplate="#CrowIDE.ui.ProjectTree.template">
+               </TreeView>
+       </HorizontalStack>
+</Window>
diff --git a/CrowIDE/ui/ProjectTree.template b/CrowIDE/ui/ProjectTree.template
new file mode 100644 (file)
index 0000000..8ca36b5
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<ItemTemplate>
+       <Label Text="{}" Background="DarkRed" Foreground="White"/>
+</ItemTemplate>
+<ItemTemplate DataType="CrowIDE.Project" Data="RootItems">
+       <Expandable Caption="{Name}" Template="#Crow.TreeExpandable.template" >
+               <HorizontalStack Height="Fit">
+                       <GraphicObject Width="8" Height="10"/>
+                       <TreeView Name="List" Height="Fit" DataTest="Type"
+                               Template="#Crow.Templates.treeList.template" />
+               </HorizontalStack>
+       </Expandable>
+</ItemTemplate>
+<ItemTemplate DataType="ReferenceGroup" Data="ChildNodes">
+       <Expandable Caption="{DisplayName}" Template="#Crow.TreeExpandable.template" >
+               <HorizontalStack Height="Fit">
+                       <GraphicObject Width="8" Height="10"/>
+                       <TreeView Name="List" Height="Fit" DataTest="Type"
+                               Template="#Crow.Templates.treeList.template" />
+               </HorizontalStack>
+       </Expandable>
+</ItemTemplate>
+<ItemTemplate DataType="VirtualGroup" Data="ChildNodes">
+       <Expandable Caption="{DisplayName}" Template="#Crow.TreeExpandable.template" >
+               <HorizontalStack Height="Fit">
+                       <GraphicObject Width="8" Height="10"/>
+                       <TreeView Name="List" Height="Fit" DataTest="Type"
+                               Template="#Crow.Templates.treeList.template" />
+               </HorizontalStack>
+       </Expandable>
+</ItemTemplate>
+<ItemTemplate DataType="Folder">
+       <Border CornerRadius="2" Margin="0" Focusable="true"  Height="Fit" Width="Stretched" Foreground="Transparent"
+                       MouseEnter="{Foreground=DimGray}"
+                       MouseLeave="{Foreground=Transparent}">
+               <HorizontalStack>
+                       <Image Margin="1" Width="14" Height="14"
+                               Path="#Crow.Icons.folder.svg"/>
+                       <Label Text="{DisplayName}" Width="Stretched"/>
+               </HorizontalStack>
+       </Border>
+</ItemTemplate>
+<ItemTemplate DataType="Reference">
+       <Border CornerRadius="2" Margin="0" Focusable="true"  Height="Fit" Width="Stretched" Foreground="Transparent"
+                       MouseEnter="{Foreground=DimGray}"
+                       MouseLeave="{Foreground=Transparent}">
+               <HorizontalStack>
+                       <Image Margin="1" Width="14" Height="14"
+                               Path="#Crow.Icons.assembly.svg"/>
+                       <Label Text="{DisplayName}" Width="Stretched"/>
+               </HorizontalStack>
+       </Border>
+</ItemTemplate>
+<ItemTemplate DataType="Compile">      
+       <Border CornerRadius="2" Margin="0" Focusable="true"  Height="Fit" Width="Stretched" Foreground="Transparent"
+                       MouseEnter="{Foreground=DimGray}"
+                       MouseLeave="{Foreground=Transparent}">
+               <HorizontalStack>                       
+                       <Image Margin="1" Width="14" Height="14"
+                               Path="#Crow.Icons.file.svg"/>
+                       <Label Text="{DisplayName}" Width="Stretched"/>
+               </HorizontalStack>
+       </Border>
+</ItemTemplate>
+<ItemTemplate DataType="EmbeddedResource">
+       <Border CornerRadius="2" Margin="0" Focusable="true"  Height="Fit" Width="Stretched" Foreground="Transparent"
+                       MouseEnter="{Foreground=DimGray}"
+                       MouseLeave="{Foreground=Transparent}">
+               <HorizontalStack>
+                       <Image Margin="1" Width="14" Height="14"
+                               Path="#Crow.Icons.file.svg"/>
+                       <Label Text="{DisplayName}" Width="Stretched"/>
+               </HorizontalStack>
+       </Border>
+</ItemTemplate>
+<ItemTemplate DataType="None">
+       <Border CornerRadius="2" Margin="0" Focusable="true"  Height="Fit" Width="Stretched" Foreground="Transparent"
+                       MouseEnter="{Foreground=DimGray}"
+                       MouseLeave="{Foreground=Transparent}">
+               <HorizontalStack>
+                       <Image Margin="1" Width="14" Height="14"
+                               Path="#Crow.Icons.file.svg"/>
+                       <Label Text="{DisplayName}" Width="Stretched"/>
+               </HorizontalStack>
+       </Border>
+</ItemTemplate>
diff --git a/CrowIDE/ui/TreeExpandable.template b/CrowIDE/ui/TreeExpandable.template
new file mode 100644 (file)
index 0000000..08093e4
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<VerticalStack>
+       <Border CornerRadius="2" Margin="0" Height="Fit" MouseDoubleClick="./onClickForExpand"
+                       Foreground="Transparent"
+                       MouseEnter="{Foreground=DimGray}"
+                       MouseLeave="{Foreground=Transparent}">
+               <HorizontalStack Spacing="1">
+                       <Image Margin="1" Width="9" Height="9" Focusable="true" MouseClick="./onClickForExpand"
+                               Path="{./Image}"
+                               Visible="{./IsExpandable}"
+                               SvgSub="{./IsExpanded}"
+                               MouseEnter="{Background=LightGray}"
+                               MouseLeave="{Background=Transparent}"/>
+                       <Image Margin="1" Width="14" Height="14"
+                               Path="#Crow.Icons.folder.svg"/>
+                       <Label Text="{./Caption}"/>
+               </HorizontalStack>
+       </Border>
+       <Container Name="Content" Visible="false"/>
+</VerticalStack>
index 4015b58e71427173c08fff39f7b81fc0f0617393..4df6b40de6121de577bf998032001cfafceb11ed 100644 (file)
@@ -13,6 +13,9 @@
                                <MenuItem Command="{CMDCopy}"/>
                                <MenuItem Command="{CMDPaste}"/>
                        </MenuItem>
+                       <MenuItem Caption="Project" Fit="true" PopWidth="120">
+                               <MenuItem Command="{CMDViewProjProps}"/>
+                       </MenuItem>
                        <MenuItem Caption="View" Fit="true" PopWidth="150">
                                <MenuItem Command="{CMDViewGTExp}"/>
                                <MenuItem Command="{CMDViewProps}"/>
                        <Label Width="Stretched" Margin="1" Text="{../../dv.SelectedItem}"/>
                </Border>
                <HorizontalStack>
-                       <DirectoryView Name="dv" CurrentDirectory="./" SelectedItemChanged="Tv_SelectedItemChanged"
-                               Width="20%" Height="100%" Margin="0"/>
+                       <TreeView Name="treeview" Width="20%" Height="100%" IsRoot="true"
+                               DataSource="{CurrentSolution}" Data="{Projects}"                                
+                               ItemTemplate="#CrowIDE.ui.ProjectTree.template"/>
                        <Splitter/>
                        <VerticalStack Width="Stretched">
                                <ImlVisualEditor Height="60%" Margin="0" MinimumSize="10,10" Foreground="SkyBlue"
-                                       ImlPath="{../../../dv.SelectedItem}" SelectedItem="{²SelectedItem}"
+                                       Project="{CurrentProject}"
+                                       ProjectNode="{../../../treeview.SelectedItem}" SelectedItem="{²SelectedItem}"
                                        Name="crowContainer" Background="Onyx"/>
                                <Splitter/>
                                <HorizontalStack Margin="10" MinimumSize="10,1">
@@ -53,6 +58,8 @@
                                </HorizontalStack>
                        </VerticalStack>
                        <Splitter/>
+                       <MembersView Width="30%" Instance="{../crowContainer.SelectedItem}" DataTest="Type"  Background="DimGray"
+                               ItemTemplate="#CrowIDE.ui.MembersItem.template"/>
                </HorizontalStack>
        </VerticalStack>
 </Window>
index b0cbbb82a6987eb1474c2db14db043863de670da..c5c04ea74e6eabebd30f23c92b8b28a4bf09af12 100644 (file)
@@ -45,6 +45,7 @@ MessageBox {
        Title=MessageBox;
        Font = serif, 12;
        MinimumSize = 200,120;
+       AlwaysOnTop = true;
 }
 Slider {
        Background = vgradient|0:Black|0.1:Gray|0.9:Gray|1:LightGray;
@@ -97,6 +98,7 @@ DockingView {
 }
 FileDialog {
        Template = #Crow.FileDialog.template;
+       AlwaysOnTop = true;
        Focusable = true;
        MinimumSize=50,50;
        Width = 500;
diff --git a/Icons/assembly.svg b/Icons/assembly.svg
new file mode 100644 (file)
index 0000000..5ac3643
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 64 64"
+   height="64"
+   width="64"
+   id="svg2"
+   version="1.1">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <path
+     d="M 15,33.964845 A 6.2543149,5.8551034 0 0 1 8.7456846,39.819949 6.2543149,5.8551034 0 0 1 2.4913703,33.964845 6.2543149,5.8551034 0 0 1 8.7456846,28.109741 6.2543149,5.8551034 0 0 1 15,33.964845 Z M 30.205524,19.726298 h 24.484978 c 3.833495,0 6.919666,3.88699 6.919666,8.715226 v 11.046641 c 0,4.828235 -3.086171,8.715225 -6.919666,8.715225 H 30.205524 c -3.833494,0 -6.919665,-3.88699 -6.919665,-8.715225 V 28.441524 c 0,-4.828236 3.086171,-8.715226 6.919665,-8.715226 z M 15,33.964845 h 8.285859"
+     style="opacity:1;fill:#a0a8ab;fill-opacity:1;stroke:#181818;stroke-width:2;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
+     id="path819" />
+</svg>
diff --git a/Templates/Tooltip.template b/Templates/Tooltip.template
new file mode 100644 (file)
index 0000000..3c5f8c1
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Border Fit="true" Foreground="Jet" Background="ArylideYellow">
+       <Label Margin="3" Foreground="Jet" Multiline="true" Text="{Tooltip}"/>
+</Border>
index 9d8764f48ca5b6c31e82cd302ad1fa045e91499c..e04f160e552f4150ce61f779c19f8a2ba9dd657a 100644 (file)
@@ -98,7 +98,9 @@ namespace Tests
                        }
                        get { return List2; }
                }
-               IList<Color> testList = Color.ColorDic.Values.ToList();
+               IList<Color> testList = Color.ColorDic.Values.OrderBy(c=>c.Hue)
+                       .ThenBy(c=>c.Value).ThenBy(c=>c.Saturation)
+                       .ToList();
                public IList<Color> TestList {
                        set{
                                testList = value;
@@ -154,7 +156,6 @@ namespace Tests
                        testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Divers", "*.crow")).ToArray ();
                        testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Unsorted", "*.crow")).ToArray ();
 
-                       object tc = Color.AirForceBlueRaf;
                        Load(testFiles[idx]).DataSource = this;
                }
                void KeyboardKeyDown1 (object sender, OpenTK.Input.KeyboardKeyEventArgs e)
@@ -201,8 +202,8 @@ namespace Tests
 
                                GraphicObject obj = Load (testFiles[idx]);
                                obj.DataSource = this;
-                       } catch (Exception ex) {
-                               Debug.WriteLine (ex.Message + ex.InnerException);
+                       } catch (Exception ex) {                                
+                               MessageBox.Show (MessageBox.Type.Error, ex.Message + "\n" + ex.InnerException);
                        }
                }
 //             void Tv_SelectedItemChanged (object sender, SelectionChangeEventArgs e)
@@ -246,13 +247,18 @@ namespace Tests
                [STAThread]
                static void Main ()
                {
-                       TextWriterTraceListener listener = new TextWriterTraceListener ("listen.txt");
+                       #if DEBUG
+                       TextWriterTraceListener listener = new TextWriterTraceListener ("debug.log");
                        Debug.Listeners.Add (listener);
+                       #endif
+
                        Console.WriteLine ("starting example");
                        BasicTests win = new BasicTests ();
                        win.VSync = OpenTK.VSyncMode.Adaptive;
                        win.Run (30);
+                       #if DEBUG
                        listener.Dispose ();
+                       #endif
                }
                protected override void OnUpdateFrame (OpenTK.FrameEventArgs e)
                {
index d4447a1fa9943a46cab820be819023f1a5e584a0..9a0c4df0479eaf2525ba74c8a228f29fe50e824a 100644 (file)
@@ -227,7 +227,7 @@ namespace Crow
                /// <param name="interfaceIdx">interface index to bind to, a default one is created if none exists</param>
                public GraphicObject Load (string path, int interfaceIdx = 0){
                        checkDefaultIFace();
-                       return ifaceControl [interfaceIdx].CrowInterface.LoadInterface (path);
+                       return ifaceControl [interfaceIdx].CrowInterface.AddWidget (path);
                }
                /// <summary>
                /// Load the content of the IML string passed as first argument and add it to the current interface
index 48b95c5ce04b1174414ecef8365e3d30b1b619c3..2730bb63bd27d01fd1cb7f86a504196912c53fb3 100644 (file)
@@ -66,7 +66,7 @@ namespace Tests
                void initGL(){
                        GL.Enable (EnableCap.CullFace);
                        GL.Enable (EnableCap.Blend);
-                       GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
+                       GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
 
                        cube = vaoMesh.CreateCube ();
                        texture = new Texture ("image/textest.png");
index b29bfac5958b88bd8ab4e5f5e1320a9cd123025b..75cc9bd59f7ac2965206ae2c7309f67db57ba18b 100644 (file)
@@ -26,6 +26,7 @@
 
 using System;
 using Crow;
+using Tutorials;
 
 namespace Tests
 {
@@ -39,7 +40,7 @@ namespace Tests
                protected override void OnLoad (EventArgs e)
                {
                        base.OnLoad (e);
-                       AddWidget (new Label (CurrentInterface) { Text = "Hello World" });
+                       LoadIMLFragment (@"<SimpleGauge Level='40' Margin='5' Background='Jet' Foreground='Gray' Width='30' Height='50%'/>");
                }
 
                [STAThread]
index d5cf83c686576d19d2a5c369a03271c7f94df7eb..dbb1420d102fcbce1fd643e304494cb58238da6d 100755 (executable)
@@ -4,27 +4,27 @@
                <VerticalStack Width="30%" Margin="5">
                        <GroupBox Caption="Performance" Height="Fit">
                                <VerticalStack Width="90%" Height="Fit" Spacing="2" >
-                                       <HorizontalStack Height="Fit">
+                                       <HorizontalStack Height="Fit" Tooltip="Frame per second">
                                                <Label Text="Fps:" Style="FpsLabel"/>
                                                <Label Text="{fps}" Style="FpsDisp"/>
                                        </HorizontalStack>
-                                       <HorizontalStack Height="Fit">
+                                       <HorizontalStack Height="Fit" Tooltip="Minimum Frame per second">
                                                <Label Text="Min:" Style="FpsLabel"/>
                                                <Label Text="{fpsMin}" Style="FpsDisp"/>
                                        </HorizontalStack>
-                                       <HorizontalStack Height="Fit">
+                                       <HorizontalStack Height="Fit" Tooltip="Maximum Frame per second">
                                                <Label Text="Max:" Style="FpsLabel"/>
                                                <Label Text="{fpsMax}" Style="FpsDisp"/>
                                        </HorizontalStack>
-                                       <HorizontalStack Height="Fit">
+                                       <HorizontalStack Height="Fit" Tooltip="Update loop duration">
                                                <Label Text="Update:" Style="FpsLabel"/>
                                                <Label Text="{update}" Style="FpsDisp"/>
                                        </HorizontalStack>
-                                       <HorizontalStack Height="Fit">
+                                       <HorizontalStack Height="Fit" Tooltip="Layouting process duration">
                                                <Label Text="Layouting:" Style="FpsLabel"/>
                                                <Label Text="{layouting}" Style="FpsDisp"/>
                                        </HorizontalStack>
-                                       <HorizontalStack Height="Fit">
+                                       <HorizontalStack Height="Fit" Tooltip="Clipping duration">
                                                <Label Text="Clipping:" Style="FpsLabel"/>
                                                <Label Text="{clipping}" Style="FpsDisp"/>
                                        </HorizontalStack>
index 61501b5ae12ef00046eab806a8513ef1840791f2..2c1572a4ff61d59f98394c3b660eff623acc2eb0 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Container Fit="true" >
+<Container Fit="true" Background="Red" Tooltip="test tooltip" >
        <Shape Foreground="Transparent" Background="Onyx" Path="M 5.5,0.5 L 10.5,10.5 L 0.5,10.5 Z"
                MouseEnter="{Background=hgradient|0:Jet|0.5:BlueCrayola|1:Black}"
                MouseLeave="{Background=Onyx}"/>
index 0dd1cca6b6f2940a352d6ae29cbc088a2d16b23e..7b26f76bc24e0907e7d0a79a531fd8ca6b855afb 100644 (file)
@@ -24,7 +24,7 @@ using Crow;
 
 namespace Crow
 {
-       public static class Extensions {
+       public static partial class Extensions {
                public static Vector4 ToVector4(this Color c){
                        float[] f = c.floatArray;
                        return new Vector4 (f [0], f [1], f [2], f [3]);
index 8096d9a8ae4b4eb3c170a64e422efa543d73b304..75969d9b1a8c89db4ef7d224439f2fe96ef6fabb 100644 (file)
@@ -8,7 +8,7 @@
     <OutputType>Exe</OutputType>
     <RootNamespace>Tests</RootNamespace>
     <AssemblyName>Tests</AssemblyName>
-    <StartupObject>Tests.Showcase</StartupObject>
+    <StartupObject>Tests.BasicTests</StartupObject>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
     <ReleaseVersion>0.5</ReleaseVersion>
     <StartWorkingDirectory>%24{SolutionDir}\build\%24{ProjectConfigName}</StartWorkingDirectory>
     <ConsolePause>false</ConsolePause>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(RunConfiguration)' == 'Custom Command' ">
+    <StartAction>Program</StartAction>
+    <StartProgram>%24{TargetName}</StartProgram>
+    <StartWorkingDirectory>%24{SolutionDir}\build\%24{ProjectConfigName}</StartWorkingDirectory>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Data" />
     <Reference Include="System.Xml" />
     <Reference Include="System.Drawing" />
     <Reference Include="OpenTK">
-      <HintPath>..\packages\OpenTK.3.0.0-git00041\lib\net20\OpenTK.dll</HintPath>
+      <HintPath>..\packages\OpenTK.2.0.0\lib\net20\OpenTK.dll</HintPath>
     </Reference>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
index c920c62d22bd2f1b0781b81be7e45942bf8345cc..2cada668c216fcc3d31011cfa277c0486f2f0601 100644 (file)
@@ -55,7 +55,7 @@ namespace Tutorials
 
                        GL.Enable (EnableCap.CullFace);
                        GL.Enable (EnableCap.Blend);
-                       GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
+                       GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
 
                        cube = vaoMesh.CreateCube ();
                        texture = new Texture ("image/textest.png");
index f4e36ffeb37822faf2443dce657d07a379d39d1f..b3717663efb9a04b86230b2c44a6ae14f49dd3f2 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="OpenTK" version="3.0.0-git00041" targetFramework="net45" />
+  <package id="OpenTK" version="2.0.0" targetFramework="net45" />
 </packages>
\ No newline at end of file
index cb8b75b54124fd2261a79865f226289aad8065fe..16d28490df0a446b6e8d85cc41941b7ca0080329 100644 (file)
@@ -67,6 +67,7 @@ namespace Crow.IML
                internal static MethodInfo miGetValWithRefx = typeof(CompilerServices).GetMethod("getValueWithReflexion", BindingFlags.Static | BindingFlags.NonPublic);
                internal static MethodInfo miCreateDel = typeof(CompilerServices).GetMethod ("createDel", BindingFlags.Static | BindingFlags.NonPublic);
                internal static MethodInfo miGetImplOp = typeof(CompilerServices).GetMethod ("getImplicitOp", BindingFlags.Static | BindingFlags.NonPublic);
+               internal static MethodInfo miGetDataTypeAndFetch = typeof(CompilerServices).GetMethod("getDataTypeAndFetch", BindingFlags.Static | BindingFlags.NonPublic);
 
 
                internal static MethodInfo miGoUpLevels = typeof(CompilerServices).GetMethod("goUpNbLevels", BindingFlags.Static | BindingFlags.NonPublic);
@@ -92,7 +93,7 @@ namespace Crow.IML
                internal static MethodInfo miGetITempFromDic = typeof(Dictionary<string, ItemTemplate>).GetMethod ("get_Item", new Type[] { typeof(string) });
                internal static FieldInfo fldItemTemplates = typeof(TemplatedGroup).GetField("ItemTemplates");
                internal static MethodInfo miCreateExpDel = typeof(ItemTemplate).GetMethod ("CreateExpandDelegate");
-
+               internal static FieldInfo fiFetchMethodName = typeof(ItemTemplate).GetField("fetchMethodName", BindingFlags.Instance | BindingFlags.NonPublic);
                #region tree handling methods
                internal static FieldInfo fiChild = typeof(PrivateContainer).GetField ("child", BindingFlags.Instance | BindingFlags.NonPublic);
                internal static MethodInfo miSetChild = typeof (Container).GetMethod ("SetChild");
@@ -330,22 +331,27 @@ namespace Crow.IML
                        Type dstType = null;
                        if (mi == null)
                                return null;
-                       if (mi.MemberType == MemberTypes.Property) {
-                               PropertyInfo pi = mi as PropertyInfo;
-                               tmp = pi.GetValue (instance);
-                               dstType = pi.PropertyType;
-                       }
-                       if (mi.MemberType == MemberTypes.Field) {
-                               FieldInfo fi = mi as FieldInfo;
-                               tmp = fi.GetValue (instance);
-                               dstType = fi.FieldType;
-                       }
-                       if (tmp != null)
-                               return tmp;
-                       if (dstType == typeof(string) || dstType == CompilerServices.TObject)//TODO:object should be allowed to return null and not ""
+                       try {
+                               if (mi.MemberType == MemberTypes.Property) {
+                                       PropertyInfo pi = mi as PropertyInfo;
+                                       tmp = pi.GetValue (instance);
+                                       dstType = pi.PropertyType;
+                               }
+                               if (mi.MemberType == MemberTypes.Field) {
+                                       FieldInfo fi = mi as FieldInfo;
+                                       tmp = fi.GetValue (instance);
+                                       dstType = fi.FieldType;
+                               }
+                               if (tmp != null)
+                                       return tmp;
+                               if (dstType == typeof(string) || dstType == CompilerServices.TObject)//TODO:object should be allowed to return null and not ""
+                                       return "";
+                               if (dstType.IsValueType)
+                                       return Activator.CreateInstance (dstType);                              
+                       } catch (Exception ex) {
+                               Debug.WriteLine (ex.ToString ());
                                return "";
-                       if (dstType.IsValueType)
-                               return Activator.CreateInstance (dstType);
+                       }
 
                        return null;
                }
@@ -863,6 +869,28 @@ namespace Crow.IML
                        }
                        return null;
                }
+
+               internal static object getDataTypeAndFetch (object data, string fetchMethod){
+                       Type dataType = data.GetType();
+                       MethodInfo miGetDatas = dataType.GetMethod (fetchMethod, new Type[] {});
+                       if (miGetDatas == null)
+                               miGetDatas = CompilerServices.SearchExtMethod (dataType, fetchMethod);
+
+                       if (miGetDatas == null) {//in last resort, search among properties
+                               PropertyInfo piDatas = dataType.GetProperty (fetchMethod);
+                               if (piDatas == null) {
+                                       FieldInfo fiDatas = dataType.GetField (fetchMethod);
+                                       if (fiDatas == null)//and among fields
+                                               throw new Exception ("Fetch data member not found in ItemTemplate: " + fetchMethod);
+                                       return fiDatas.GetValue (data);
+                               }
+                               miGetDatas = piDatas.GetGetMethod ();
+                               if (miGetDatas == null)
+                                       throw new Exception ("Read only property for fetching data in ItemTemplate: " + fetchMethod);
+                       }
+                       object tmp = miGetDatas.Invoke (data, null);
+                       return tmp;
+               }
        }
 }
 
index a5ba7b20a51cdb79de30f8b59f8acb00f4b2a31e..285ca253377426b360edf44e8bd1f7bf9d51b0e5 100644 (file)
@@ -52,6 +52,9 @@ namespace Crow
                public event EventHandler OkClicked;
                #endregion
 
+               public string SelectedFileFullPath {
+                       get { return Path.Combine (SelectedDirectory, SelectedFile); }
+               }
                [XmlAttributeAttribute][DefaultValue("/home")]
                public virtual string CurrentDirectory {
                        get { return curDir; }
index 3da8330d85aaf391ce27834c2189b843ae385df3..e24e9b284ff307b822f1d5bb08abe1c3031fbea5 100644 (file)
@@ -808,6 +808,17 @@ namespace Crow
                                NotifyValueChanged ("Style", style);
                        }
                }
+               string tooltip;
+               [XmlAttributeAttribute]
+               public virtual string Tooltip {
+                       get { return tooltip; }
+                       set {
+                               if (tooltip == value)
+                                       return;
+                               tooltip = value;
+                               NotifyValueChanged("Tooltip", tooltip);
+                       }
+               }
                #endregion
 
                #region Default and Style Values loading
index 277a7e11113efb68d641c103991111680f24dbbe..7f945810095a69917b99fc26175ee583ccc7dd7b 100644 (file)
@@ -120,7 +120,6 @@ namespace Crow
                                        NotifyValueChanged ("MsgIcon", "#Crow.Images.Icons.exit.svg");
                                        Caption = "Error";
                                        OkMessage = "Ok";
-                                       CancelMessage = "Cancel";
                                        break;
                                }
                        }
@@ -136,7 +135,7 @@ namespace Crow
                        close ();
                }
                public static MessageBox Show (Type msgBoxType, string message, string okMsg = "", string cancelMsg = ""){
-                       lock (Interface.CurrentInterface.UpdateMutex) {
+                       //lock (Interface.CurrentInterface.UpdateMutex) {
                                MessageBox mb = new MessageBox (Interface.CurrentInterface);
                                mb.CurrentInterface.AddWidget (mb);
                                mb.MsgType = msgBoxType;
@@ -146,7 +145,7 @@ namespace Crow
                                if (!string.IsNullOrEmpty(cancelMsg))
                                        mb.CancelMessage = cancelMsg;
                                return mb;
-                       }
+                       //}
                }
        }
 }
index 5316a5a7f5f5fae42ae319ca34e7cd3174ad571e..41210dc56cadf394904591c15dad92bfa59514ff 100644 (file)
@@ -224,7 +224,7 @@ namespace Crow
                        if (Content != null) {
                                Content.Visible = true;
                                if (Content.Parent == null)
-                                       CurrentInterface.AddWidget (Content, true);
+                                       CurrentInterface.AddWidget (Content);
                                if (Content.LogicalParent != this)
                                        Content.LogicalParent = this;
                                CurrentInterface.PutOnTop (Content, true);
index b79fbc82427f8d14dabaf3f72f4f5b698057a661..297337edd31dd35026923fb20440cc0852708995 100644 (file)
@@ -560,7 +560,7 @@ namespace Crow.IML
                                System.Reflection.Emit.Label finish = il.DefineLabel ();
                                il.Emit (OpCodes.Br, finish);
                                il.MarkLabel (cancel);
-                               il.EmitWriteLine (string.Format ("Handler method '{0}' for '{1}' not found in new dataSource ", bindingDef.TargetMember, sourceEvent.Name));
+                               il.EmitWriteLine (string.Format ("Handler method '{0}' for '{1}' not found in new dataSource", bindingDef.TargetMember, sourceEvent.Name));
                                il.MarkLabel (finish);
                                il.Emit (OpCodes.Ret);
 
index ab78e42d138ec19d8f0558e0464a7c50c3bedbe6..992ff6f69950f4bbcbfc1c7c3832aaf560eb5aa9 100644 (file)
@@ -88,6 +88,8 @@ namespace Crow
                public Interface(){
                        CurrentInterface = this;
                        CultureInfo.DefaultThreadCurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
+
+                       initTooltip ();
                }
                #endregion
 
@@ -100,6 +102,8 @@ namespace Crow
                public static bool FocusOnHover = false;
                /// <summary> Threshold to catch borders for sizing </summary>
                public static int BorderThreshold = 5;
+               /// <summary> delay before tooltip appear </summary>
+               public static int ToolTipDelay = 500;
                /// <summary>Double click threshold in milisecond</summary>
                public static int DoubleClick = 200;//max duration between two mouse_down evt for a dbl clk in milisec.
                /// <summary> Time to wait in millisecond before starting repeat loop</summary>
@@ -313,9 +317,12 @@ namespace Crow
                                return tmp;
                        }
                }
-               /// <summary>Create an instance of a GraphicObject and add it to the GraphicTree
-               /// of this Interface</summary>
-               public GraphicObject LoadInterface (string path)
+               /// <summary>
+               /// Create an instance of a GraphicObject and add it to the GraphicTree of this Interface
+               /// </summary>
+               /// <returns>new instance of graphic object created</returns>
+               /// <param name="path">path of the iml file to load</param>
+               public GraphicObject AddWidget (string path)
                {
                        lock (UpdateMutex) {
                                GraphicObject tmp = Load (path);
@@ -323,8 +330,11 @@ namespace Crow
                                return tmp;
                        }
                }
-               /// <summary>Create an instance of a GraphicObject linked to this interface but
-               /// not added to the GraphicTree</summary>
+               /// <summary>
+               /// Create an instance of a GraphicObject linked to this interface but not added to the GraphicTree
+               /// </summary>
+               /// <returns>new instance of graphic object created</returns>
+               /// <param name="path">path of the iml file to load</param>
                public GraphicObject Load (string path)
                {
                        try {
@@ -333,7 +343,11 @@ namespace Crow
                                throw new Exception ("Error loading <" + path + ">:", ex);
                        }
                }
-               /// <summary>Fetch instantiator it from cache or create it</summary>
+               /// <summary>
+               /// Fetch instantiator from cache or create it.
+               /// </summary>
+               /// <returns>new Instantiator</returns>
+               /// <param name="path">path of the iml file to load</param>
                public static Instantiator GetInstantiator(string path){
                        if (!Instantiators.ContainsKey(path))
                                Instantiators [path] = new Instantiator(path);
@@ -626,7 +640,7 @@ namespace Crow
 
                #region GraphicTree handling
                /// <summary>Add widget to the Graphic tree of this interface and register it for layouting</summary>
-               public void AddWidget(GraphicObject g, bool isOverlay = false)
+               public void AddWidget(GraphicObject g)
                {
                        g.Parent = this;
                        int ptr = 0;
@@ -648,7 +662,7 @@ namespace Crow
                        g.RegisteredLayoutings = LayoutingType.None;
                        g.RegisterForLayouting (LayoutingType.Sizing | LayoutingType.ArrangeChildren);
                }
-               /// <summary>Set visible state of widget to false and remove if from the graphic tree</summary>
+               /// <summary>Set visible state of widget to false and delete if from the graphic tree</summary>
                public void DeleteWidget(GraphicObject g)
                {
                        lock (UpdateMutex) {
@@ -658,6 +672,15 @@ namespace Crow
                                g.Dispose ();
                        }
                }
+               /// <summary>Set visible state of widget to false and remove if from the graphic tree</summary>
+               public void RemoveWidget(GraphicObject g)
+               {
+                       lock (UpdateMutex) {
+                               RegisterClip (g.ScreenCoordinates (g.LastPaintedSlot));
+                               GraphicTree.Remove (g);
+                               g.Parent = null;
+                       }
+               }
                /// <summary> Remove all Graphic objects from top container </summary>
                public void ClearInterface()
                {
@@ -770,6 +793,7 @@ namespace Crow
                        }
 
                        if (HoverWidget != null) {
+                               resetTooltip ();
                                //check topmost graphicobject first
                                GraphicObject tmp = HoverWidget;
                                GraphicObject topc = null;
@@ -947,6 +971,50 @@ namespace Crow
                }
                #endregion
 
+               #region Tooltip handling
+               Stopwatch tooltipTimer = new Stopwatch();
+               GraphicObject ToolTipContainer = null;
+               volatile bool tooltipVisible = false;
+
+               void initTooltip () {
+                       ToolTipContainer = Load  ("#Crow.Tooltip.template");
+                       Thread t = new Thread (toolTipThreadFunc);
+                       t.IsBackground = true;
+                       t.Start ();
+               }
+               void toolTipThreadFunc ()
+               {
+                       while(true) {
+                               if (tooltipTimer.ElapsedMilliseconds > ToolTipDelay) {
+                                       if (!tooltipVisible) {
+                                               GraphicObject g = _hoverWidget;
+                                               while (g != null) {
+                                                       if (!string.IsNullOrEmpty (g.Tooltip)) {
+                                                               AddWidget (ToolTipContainer);
+                                                               ToolTipContainer.DataSource = g;
+                                                               ToolTipContainer.Top = Mouse.Y + 10;
+                                                               ToolTipContainer.Left = Mouse.X + 10;
+                                                               tooltipVisible = true;
+                                                               break;
+                                                       }
+                                                       g = g.LogicalParent as GraphicObject;
+                                               }
+                                       }
+                               }
+                               Thread.Sleep (200);     
+                       }
+
+               }
+               void resetTooltip () {
+                       if (tooltipVisible) {
+                               //ToolTipContainer.DataSource = null;
+                               RemoveWidget (ToolTipContainer);
+                               tooltipVisible = false;
+                       }
+                       tooltipTimer.Restart ();
+               }
+               #endregion
+
                #region Device Repeat Events
                volatile bool mouseRepeatOn, keyboardRepeatOn;
                volatile int mouseRepeatCount, keyboardRepeatCount;
index 915aafd84a5869f113a9d27673e2d69a5daeec2c..52bd520771c4b0604475f9bff76809b96b061c09 100644 (file)
@@ -97,11 +97,14 @@ namespace Crow
                /// </summary>
                /// <param name="host">Host.</param>
                public void CreateExpandDelegate (TemplatedGroup host){
-                       Type dataType = CompilerServices.tryGetType(strDataType);
-                       if (dataType == null) {
-                               Debug.WriteLine ("ItemTemplate error: DataType not found: {0}.", strDataType);
-                               return;
-                       }
+                       Type dataType = null;
+                       //if (host.DataTest == "TypeOf"){
+                               dataType = CompilerServices.tryGetType(strDataType);
+//                             if (dataType == null) {
+//                                     Debug.WriteLine ("ItemTemplate error: DataType not found: {0}.", strDataType);
+//                                     return;
+//                             }
+//                     }
                        Type tmpGrpType = typeof(TemplatedGroup);
                        Type evtType = typeof(EventHandler);
 
@@ -153,9 +156,16 @@ namespace Crow
                        il.Emit (OpCodes.Ldarg_1);//get the dataSource of the sender
                        il.Emit (OpCodes.Callvirt, CompilerServices.miGetDataSource);
 
-                       if (fetchMethodName != "self")//special keyword self allows the use of recurent list<<<
-                               emitGetSubData(il, dataType);                   
+                       if (fetchMethodName != "self") {//special keyword self allows the use of recurent list<<<
+                               if (dataType == null) {
+                                       //dataTest was not = TypeOF, so we have to get the type of data
+                                       //dynamically and fetch
 
+                                       il.Emit (OpCodes.Ldstr, fetchMethodName);
+                                       il.Emit (OpCodes.Callvirt, CompilerServices.miGetDataTypeAndFetch);
+                               }else
+                                       emitGetSubData(il, dataType);                   
+                       }
                        //set 'return' from the fetch method as 'data' of the list
                        il.Emit (OpCodes.Callvirt, piData.GetSetMethod ());
 
@@ -175,8 +185,16 @@ namespace Crow
                        il.Emit (OpCodes.Ldarg_0);
                        il.Emit (OpCodes.Callvirt, CompilerServices.miGetDataSource);
 
-                       if (fetchMethodName != "self")
-                               emitGetSubData(il, dataType);
+                       if (fetchMethodName != "self") {//special keyword self allows the use of recurent list<<<
+                               if (dataType == null) {
+                                       //dataTest was not = TypeOF, so we have to get the type of data
+                                       //dynamically and fetch
+
+                                       il.Emit (OpCodes.Ldstr, fetchMethodName);
+                                       il.Emit (OpCodes.Callvirt, CompilerServices.miGetDataTypeAndFetch);
+                               }else
+                                       emitGetSubData(il, dataType);                   
+                       }
                        
                        il.Emit (OpCodes.Callvirt, CompilerServices.miGetColCount);
                        il.Emit (OpCodes.Ldc_I4_0);
@@ -185,6 +203,8 @@ namespace Crow
                        HasSubItems = (BooleanTestOnInstance)dm.CreateDelegate (typeof(BooleanTestOnInstance));
                        #endregion
                }
+
+               //data is on the stack
                void emitGetSubData(ILGenerator il, Type dataType){
                        MethodInfo miGetDatas = dataType.GetMethod (fetchMethodName, new Type[] {});
                        if (miGetDatas == null)