2011-07-19 6 views
7

Tengo un proyecto de complemento de estudio visual donde debo recorrer los elementos del proyecto actual, utilizando la ruta absoluta (o relativa) a esos archivos.Obtener la ruta de ProjectItem sin usar item.Document.FullName

El item.Document.FullName funciona, pero solo para archivos que están abiertos actualmente.

¿Hay alguna otra forma de acceder a esta información en el objeto DTE?

Respuesta

0

Descubrimos que, a menos que quisiéramos analizar los archivos del proyecto XML nosotros mismos, primero debe cargar los proyectos descargados.

Registramos la lista y luego la volvemos a descargar, por lo que el único problema es el tiempo que se tarda en cargarlos.

0

ProjectItem.FileNames es una colección que representa las rutas completas de los archivos asociados

Por ejemplo, si usted ha llamado elemento de formulario web "MyWebForm" que puede obtener de ProjectItem.FileNames la ruta completa de la Archivo MyWebForm.ascx y el nombre completo de ruta del archivo MyWebForm.ascx.cs (CodeBehind)

16

¿Es esto lo que estás buscando?

myProjectItem.Properties.Item ("FullPath"). Valor

+0

Y este enlace tiene alguna información más específica acerca de lo que está contenido en la lista de las propiedades de un ProjectItem: http://msdn.microsoft.com/en-us/library/ms228957(v=vs.90) .aspx –

+0

¿Hay alguna lista de propiedades? – Hooch

2

Incluso yo estaba buscando solución para obtener el Nombre del proyecto basado en el documento o archivo Nombre. Lo encontré usando dte object. Inicializó el objeto dte como a continuación.

EnvDTE80.DTE2 objDTE = this.GetService(typeof(SDTE)) as EnvDTE80.DTE2; 

Luego se utiliza el siguiente código para obtener el nombre del proyecto.

var projectItem = objDTE.Solution.FindProjectItem(document); 
var projectUniqueName = projectItem.ContainingProject.UniqueName; 
Cuestiones relacionadas