本文整理汇总了C#中Microsoft.VisualStudio.Project.ProjectNode类的典型用法代码示例。如果您正苦于以下问题:C# ProjectNode类的具体用法?C# ProjectNode怎么用?C# ProjectNode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ProjectNode类属于Microsoft.VisualStudio.Project命名空间,在下文中一共展示了ProjectNode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LocalizableProperties
public LocalizableProperties(ProjectNode projectManager)
{
if (projectManager == null)
throw new ArgumentNullException("projectManager");
_projectManager = projectManager;
}
示例2: ProjectReferenceNode
public ProjectReferenceNode(ProjectNode root, ProjectElement element)
: base(root, element)
{
this.referencedProjectRelativePath = this.ItemNode.GetMetadata(ProjectFileConstants.Include);
Debug.Assert(!String.IsNullOrEmpty(this.referencedProjectRelativePath), "Could not retrive referenced project path form project file");
string guidString = this.ItemNode.GetMetadata(ProjectFileConstants.Project);
// Continue even if project setttings cannot be read.
try
{
this.referencedProjectGuid = new Guid(guidString);
this.buildDependency = new BuildDependency(this.ProjectMgr, this.referencedProjectGuid);
this.ProjectMgr.AddBuildDependency(this.buildDependency);
}
finally
{
Debug.Assert(this.referencedProjectGuid != Guid.Empty, "Could not retrive referenced project guidproject file");
this.referencedProjectName = this.ItemNode.GetMetadata(ProjectFileConstants.Name);
Debug.Assert(!String.IsNullOrEmpty(this.referencedProjectName), "Could not retrive referenced project name form project file");
}
Uri uri = new Uri(this.ProjectMgr.BaseURI.Uri, this.referencedProjectRelativePath);
if(uri != null)
{
this.referencedProjectFullPath = Microsoft.VisualStudio.Shell.Url.Unescape(uri.LocalPath, true);
}
}
示例3: ProjectElement
/// <summary>
/// Constructor to create a new MSBuild.BuildItem and add it to the project
/// Only have internal constructors as the only one who should be creating
/// such object is the project itself (see Project.CreateFileNode()).
/// </summary>
internal ProjectElement(ProjectNode project, string itemPath, string itemType)
{
if(project == null)
{
throw new ArgumentNullException("project");
}
if(String.IsNullOrEmpty(itemPath))
{
throw new ArgumentException(SR.GetString(SR.ParameterCannotBeNullOrEmpty, CultureInfo.CurrentUICulture), "itemPath");
}
if(String.IsNullOrEmpty(itemType))
{
throw new ArgumentException(SR.GetString(SR.ParameterCannotBeNullOrEmpty, CultureInfo.CurrentUICulture), "itemType");
}
this.itemProject = project;
// create and add the item to the project
this.item = project.BuildProject.AddNewItem(itemType, Microsoft.Build.BuildEngine.Utilities.Escape(itemPath));
this.itemProject.SetProjectFileDirty(true);
this.RefreshProperties();
}
示例4: NemerleFileNode
public NemerleFileNode(ProjectNode root, ProjectElement element, bool isNonMemberItem)
: base(root, element)
{
IsNonMemberItem = isNonMemberItem;
_selectionChangedListener =
new SelectionElementValueChangedListener(
new ServiceProvider((IOleServiceProvider)root.GetService(typeof(IOleServiceProvider))), root);
_selectionChangedListener.Init();
//((FileNodeProperties)NodeProperties).OnCustomToolChanged += OnCustomToolChanged;
//((FileNodeProperties)NodeProperties).OnCustomToolNameSpaceChanged += OnCustomToolNameSpaceChanged;
// HasDesigner property is not virtual, so we have to set it up in the ctor.
InferHasDesignerFromSubType();
var url = this.Url;
var ext = Path.GetExtension(url);
//if (ext.Equals(".resx", StringComparison.InvariantCultureIgnoreCase))
//{
// // TODO: ”далить это дело, так как теперь оповещени¤ должны быть реализованы в Engine.
// url = Path.GetFullPath(this.Url);
// var path = Path.GetDirectoryName(url);
// var name = Path.GetFileName(url);
// _watcher = new FileSystemWatcher(path, name);
// _watcher.NotifyFilter = NotifyFilters.LastWrite;
// _watcher.Changed += watcher_Changed;
// _watcher.EnableRaisingEvents = true;
//}
}
示例5: ComReferenceNode
public ComReferenceNode(ProjectNode root, VSCOMPONENTSELECTORDATA selectorData)
: base(root)
{
if(root == null)
{
throw new ArgumentNullException("root");
}
if(selectorData.type == VSCOMPONENTTYPE.VSCOMPONENTTYPE_Project
|| selectorData.type == VSCOMPONENTTYPE.VSCOMPONENTTYPE_ComPlus)
{
throw new ArgumentException("SelectorData cannot be of type VSCOMPONENTTYPE.VSCOMPONENTTYPE_Project or VSCOMPONENTTYPE.VSCOMPONENTTYPE_ComPlus", "selectorData");
}
// Initialize private state
this.typeName = selectorData.bstrTitle;
this.typeGuid = selectorData.guidTypeLibrary;
this.majorVersionNumber = selectorData.wTypeLibraryMajorVersion.ToString(CultureInfo.InvariantCulture);
this.minorVersionNumber = selectorData.wTypeLibraryMinorVersion.ToString(CultureInfo.InvariantCulture);
this.lcid = selectorData.lcidTypeLibrary.ToString(CultureInfo.InvariantCulture);
// Check to see if the COM object actually exists.
this.SetInstalledFilePath();
// If the value cannot be set throw.
if(String.IsNullOrEmpty(this.installedFilePath))
{
throw new InvalidOperationException();
}
}
示例6: AssemblyReferenceNode
/// <summary>
/// Constructor for the AssemblyReferenceNode
/// </summary>
public AssemblyReferenceNode(ProjectNode root, string assemblyPath)
: base(root)
{
// Validate the input parameters.
if(null == root)
{
throw new ArgumentNullException("root");
}
if(string.IsNullOrEmpty(assemblyPath))
{
throw new ArgumentNullException("assemblyPath");
}
this.InitializeFileChangeEvents();
// The assemblyPath variable can be an actual path on disk or a generic assembly name.
if(File.Exists(assemblyPath))
{
// The assemblyPath parameter is an actual file on disk; try to load it.
this.assemblyName = System.Reflection.AssemblyName.GetAssemblyName(assemblyPath);
this.assemblyPath = assemblyPath;
// We register with listeningto chnages onteh path here. The rest of teh cases will call into resolving the assembly and registration is done there.
this.fileChangeListener.ObserveItem(this.assemblyPath);
}
else
{
// The file does not exist on disk. This can be because the file / path is not
// correct or because this is not a path, but an assembly name.
// Try to resolve the reference as an assembly name.
this.CreateFromAssemblyName(new System.Reflection.AssemblyName(assemblyPath));
}
}
示例7: BooFileNode
public BooFileNode(ProjectNode root, ProjectElement e)
: base(root, e)
{
results = new CompileResults(() => Url, GetCompilerInput, ()=>GlobalServices.LanguageService.GetLanguagePreferences().TabSize);
languageService = (BooLanguageService)GetService(typeof(BooLanguageService));
hidden = true;
}
示例8: XSharpFileNode
/// <summary>
/// Initializes a new instance of the <see cref="XSharpFileNode"/> class.
/// </summary>
/// <param name="root">The project node.</param>
/// <param name="e">The project element node.</param>
internal XSharpFileNode(ProjectNode root, ProjectElement e)
: base(root, e)
{
//
this.UpdateHasDesigner();
this.UpdateItemType();
}
示例9: IsProjectOpened
private static bool IsProjectOpened(ProjectNode project)
{
if(null == projectOpened)
{
projectOpened = typeof(VisualStudio.Project.ProjectNode).GetField("projectOpened", BindingFlags.Instance | BindingFlags.NonPublic);
}
return (bool)projectOpened.GetValue(project);
}
示例10: FileNode
/// <summary>
/// Constructor for the FileNode
/// </summary>
/// <param name="root">Root of the hierarchy</param>
/// <param name="e">Associated project element</param>
public FileNode(ProjectNode root, ProjectElement element)
: base(root, element)
{
if(this.ProjectMgr.NodeHasDesigner(this.ItemNode.GetMetadata(ProjectFileConstants.Include)))
{
this.HasDesigner = true;
}
}
示例11: NemerleFolderNode
public NemerleFolderNode(ProjectNode root, string directoryPath, ProjectElement element, bool isNonMemberItem)
: base(root, directoryPath, element)
{
IsNonMemberItem = isNonMemberItem;
// Folders do not participate in SCC.
ExcludeNodeFromScc = true;
}
示例12: AvailableFileBuildActionConverter
public AvailableFileBuildActionConverter(ProjectNode projectNode)
: base(typeof(prjBuildAction))
{
if (projectNode == null)
throw new ArgumentNullException("projectNode");
_projectManager = projectNode;
}
示例13: JarReferenceNode
public JarReferenceNode(ProjectNode root, string fileName)
: base(root)
{
Contract.Requires<ArgumentNullException>(root != null, "root");
Contract.Requires<ArgumentNullException>(fileName != null, "fileName");
Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(fileName));
_projectRelativeFilePath = fileName;
}
示例14: Output
/// <summary>
/// Constructor for IVSOutput2 implementation
/// </summary>
/// <param name="projectManager">Project that produce this output</param>
/// <param name="outputAssembly">MSBuild generated item corresponding to the output assembly (by default, these would be of type MainAssembly</param>
public Output(ProjectNode projectManager, ProjectItemInstance outputAssembly)
{
if(projectManager == null)
throw new ArgumentNullException("projectManager");
if(outputAssembly == null)
throw new ArgumentNullException("outputAssembly");
project = projectManager;
output = outputAssembly;
}
示例15: FolderNode
/// <summary>
/// Constructor for the FolderNode
/// </summary>
/// <param name="root">Root node of the hierarchy</param>
/// <param name="relativePath">relative path from root i.e.: "NewFolder1\\NewFolder2\\NewFolder3</param>
/// <param name="element">Associated project element</param>
public FolderNode(ProjectNode root, string relativePath, ProjectElement element)
: base(root, element)
{
if (relativePath == null)
{
throw new ArgumentNullException("relativePath");
}
this.VirtualNodeName = relativePath.TrimEnd('\\');
}