本文整理汇总了C#中Project.ToVsHierarchy方法的典型用法代码示例。如果您正苦于以下问题:C# Project.ToVsHierarchy方法的具体用法?C# Project.ToVsHierarchy怎么用?C# Project.ToVsHierarchy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Project
的用法示例。
在下文中一共展示了Project.ToVsHierarchy方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ToVsProjectBuildSystem
public static IVsProjectBuildSystem ToVsProjectBuildSystem(Project project)
{
if (project == null)
{
throw new ArgumentNullException("project");
}
// Convert the project to an IVsHierarchy and see if it implements IVsProjectBuildSystem
return project.ToVsHierarchy() as IVsProjectBuildSystem;
}
示例2: EnablePackageRestoreInVs2013
private void EnablePackageRestoreInVs2013(Project project)
{
NuGetVS.ProjectHelper.DoWorkInWriterLock(
project,
project.ToVsHierarchy(),
buildProject => EnablePackageRestore(project, buildProject, saveProjectWhenDone: false));
}
示例3: EnablePackageRestoreForJavaScriptProject
private void EnablePackageRestoreForJavaScriptProject(Project javaScriptProject)
{
IVsHierarchy hierarchy = javaScriptProject.ToVsHierarchy();
IVsBrowseObjectContext context = hierarchy as IVsBrowseObjectContext;
if (context != null)
{
var service = context.UnconfiguredProject.ProjectService.Services.DirectAccessService;
if (service != null)
{
service.Write(
context.UnconfiguredProject.FullPath,
dwa =>
{
MsBuildProject buildProject = dwa.GetProject(context.UnconfiguredProject.Services.SuggestedConfiguredProject);
// When inside the Write lock, calling Project.Save() will cause a deadlock.
// Thus we will save it after and outside of the Write lock.
EnablePackageRestore(javaScriptProject, buildProject, saveProjectWhenDone: false);
},
ProjectAccess.Read | ProjectAccess.Write);
javaScriptProject.Save();
}
}
}