本文整理汇总了C#中Microsoft.Build.BuildEngine.BuildItem.SplitChildItemIfNecessary方法的典型用法代码示例。如果您正苦于以下问题:C# BuildItem.SplitChildItemIfNecessary方法的具体用法?C# BuildItem.SplitChildItemIfNecessary怎么用?C# BuildItem.SplitChildItemIfNecessary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Build.BuildEngine.BuildItem
的用法示例。
在下文中一共展示了BuildItem.SplitChildItemIfNecessary方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1:
/// <summary>
/// Removes an item from the main project file.
/// </summary>
/// <param name="itemToRemove"></param>
/// <owner>RGoel</owner>
public void RemoveItem
(
BuildItem itemToRemove
)
{
error.VerifyThrowArgumentNull(itemToRemove, "itemToRemove");
// Confirm that it's not an imported item.
error.VerifyThrowInvalidOperation(!itemToRemove.IsImported, "CannotModifyImportedProjects");
BuildItemGroup parentItemGroup;
if (itemToRemove.ParentPersistedItem == null)
{
// This is either a persisted item that's actually declared in the project file,
// or it's some kind of intermediate virtual item.
// If the item doesn't have a parent BuildItemGroup associated with it, then it
// must not be a persisted item that's actually declared in the project file.
parentItemGroup = itemToRemove.ParentPersistedItemGroup;
error.VerifyThrowInvalidOperation (parentItemGroup != null, "ObjectIsNotInProject");
}
else
{
// This is an evaluated item that came from a persisted item tag declared in
// the project file.
// If the item tag produced more than one evaluated item, then it's time to
// split up the item tag into several new item tags.
itemToRemove.SplitChildItemIfNecessary();
error.VerifyThrow(itemToRemove.ParentPersistedItem != null, "No parent BuildItem for item to be removed.");
itemToRemove = itemToRemove.ParentPersistedItem;
error.VerifyThrow(itemToRemove.ParentPersistedItemGroup != null,
"No parent BuildItemGroup for item to be removed.");
parentItemGroup = itemToRemove.ParentPersistedItemGroup;
}
parentItemGroup.RemoveItem(itemToRemove);
if (parentItemGroup.Count == 0)
{
this.RemoveItemGroup(parentItemGroup);
}
this.MarkProjectAsDirty ();
}