コード例 #1
0
        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;
            });
        }
コード例 #2
0
        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);
        }