本文整理汇总了C#中IItem.GetLogicalPath方法的典型用法代码示例。如果您正苦于以下问题:C# IItem.GetLogicalPath方法的具体用法?C# IItem.GetLogicalPath怎么用?C# IItem.GetLogicalPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IItem
的用法示例。
在下文中一共展示了IItem.GetLogicalPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessItem
private void ProcessItem(IItem item)
{
if (IsValidTarget(item))
{
var message = string.Empty;
if (this.Dte.SourceControl.IsItemUnderSCC(item.PhysicalPath))
{
this.Dte.SourceControl.CheckOutItem(item.PhysicalPath);
}
else
{
var attributes = File.GetAttributes(item.PhysicalPath);
if ((attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
tracer.Info(
Resources.TransformTemplatesCommand_TraceReadOnly, item.GetLogicalPath());
return;
}
}
try
{
message = string.Format(CultureInfo.CurrentCulture,
Properties.Resources.TransformTemplatesCommand_TraceSucceded, item.GetLogicalPath(), CustomToolName);
var vsProjectItem = item.As<ProjectItem>().Object as VSProjectItem;
if (vsProjectItem != null)
{
vsProjectItem.RunCustomTool();
}
}
catch (Exception e)
{
message = string.Format(CultureInfo.CurrentCulture,
Properties.Resources.TransformTemplatesCommand_TraceError, item.GetLogicalPath(), e.Message);
}
tracer.Info(message);
this.StatusBar.DisplayMessage(message);
}
}
示例2: GetProjectItemPath
private string GetProjectItemPath(IItem item, IProject project)
{
var path = string.Empty;
var projectPath = Path.GetDirectoryName(project.PhysicalPath);
var itemPath = item.PhysicalPath;
// Is the item contained in the project?
if (itemPath.StartsWith(projectPath))
{
path = itemPath.Substring(projectPath.Length);
}
else
{
// The item must be linked in from outside the project
var projectLogicalPath = project.GetLogicalPath();
var itemLogicalPath = item.GetLogicalPath();
path = (itemLogicalPath.Substring(projectLogicalPath.Length));
}
return path.Replace('\\', '/').TrimStart('/');
}