protected XamarinProject() { ProjectName = "UnnamedProject"; Sources = new List<BuildItem> (); References = new List<BuildItem> (); OtherBuildItems = new List<BuildItem> (); ItemGroupList = new List<IList<BuildItem>> (); ItemGroupList.Add (References); ItemGroupList.Add (OtherBuildItems); ItemGroupList.Add (Sources); AddReferences ("System"); // default CommonProperties = new List<Property> (); common = new PropertyGroup (null, CommonProperties); DebugProperties = new List<Property> (); debug = new PropertyGroup ("'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'", DebugProperties); ReleaseProperties = new List<Property> (); release = new PropertyGroup ("'$(Configuration)|$(Platform)' == 'Release|AnyCPU'", ReleaseProperties); PropertyGroups = new List<PropertyGroup> (); PropertyGroups.Add (common); PropertyGroups.Add (debug); PropertyGroups.Add (release); Packages = new List<Package> (); SetProperty (KnownProperties.Configuration, "Debug", "'$(Configuration)' == ''"); SetProperty ("Platform", "AnyCPU", "'$(Platform)' == ''"); SetProperty ("ErrorReport", "prompt"); SetProperty ("WarningLevel", "4"); SetProperty ("ConsolePause", "false"); SetProperty ("RootNamespace", () => RootNamespace ?? ProjectName); SetProperty ("AssemblyName", () => AssemblyName ?? ProjectName); SetProperty ("BuildingInsideVisualStudio", "True"); SetProperty (DebugProperties, "DebugSymbols", "true"); SetProperty (DebugProperties, "DebugType", "full"); SetProperty (DebugProperties, "Optimize", "false"); SetProperty (DebugProperties, KnownProperties.OutputPath, Path.Combine ("bin", "Debug")); SetProperty (DebugProperties, "DefineConstants", "DEBUG;"); SetProperty (DebugProperties, KnownProperties.IntermediateOutputPath, Path.Combine ("obj", "Debug")); SetProperty (ReleaseProperties, "Optimize", "true"); SetProperty (ReleaseProperties, "ErrorReport", "prompt"); SetProperty (ReleaseProperties, "WarningLevel", "4"); SetProperty (ReleaseProperties, "ConsolePause", "false"); SetProperty (ReleaseProperties, KnownProperties.OutputPath, Path.Combine ("bin", "Release")); SetProperty (ReleaseProperties, KnownProperties.IntermediateOutputPath, Path.Combine ("obj", "Release")); Sources.Add (new BuildItem.Source (() => "Properties\\AssemblyInfo" + Language.DefaultExtension) { TextContent = () => ProcessSourceTemplate (AssemblyInfo ?? Language.DefaultAssemblyInfo) }); Imports = new List<Import> (); }