public ProjectPlus(IProjectOwner owner, string filename) { _owner = owner; FullPath = Path.Combine(_owner.Directory, filename); InitialTargets = new StringPropertyList(() => Xml.InitialTargets, v => Xml.InitialTargets = v, target => LookupTarget(target, null), true); FirstInitTarget = new Core.Utility.LazyEx<ProjectTargetElement>(() => { var tgt = LookupTarget("{0}_init_{1}_1".format(SafeName, Path.GetExtension(Filename).Trim('.')), null, true); InitialTargets.Add(tgt.Name); return tgt; }); SecondInitTarget = new Core.Utility.LazyEx<ProjectTargetElement>(() => { // ensure the first one is created. var x = FirstInitTarget.Value; var tgt = LookupTarget("{0}_init_{1}_2".format(SafeName, Path.GetExtension(Filename).Trim('.')), null, true); InitialTargets.Add(tgt.Name); return tgt; }); ItemGroupInitTarget = new Core.Utility.LazyEx<ProjectTargetElement>(() => { // ensure the first one is created. var x = SecondInitTarget.Value; var tgt = LookupTarget("{0}_ItemGroupInit_{1}_3".format(SafeName, Path.GetExtension(Filename).Trim('.')), null, true); InitialTargets.Add(tgt.Name); return tgt; }); EarlyInitTarget = new Core.Utility.LazyEx<ProjectTargetElement>(() => { var tgt = LookupTarget("{0}_init_{1}_0".format(SafeName, Path.GetExtension(Filename).Trim('.')), null, true); InitialTargets.Insert(0,tgt.Name); return tgt; }); }
public ProjectPlus(IProjectOwner owner, string filename) { _owner = owner; FullPath = Path.Combine(_owner.Directory, filename); InitialTargets = new StringPropertyList(() => Xml.InitialTargets, v => Xml.InitialTargets = v, target => LookupTarget(target, null),true); }