2010-12-03 27 views
2

J'ai un Assistant Projet Visual Studio qui tente de configurer un projet VC# pour remplacer la propriété FullPath pour les fichiers sélectionnés du modèle.Problème lors de l'utilisation de EnvDTE.Property.set_Value pour définir la propriété FullPath ProjectItem

Le code suivant est utilisé à partir de la fonction

ProjectFinishedGenerating public void (projet Project)

string path = "some file name"; 
project.ProjectItems.Item("some file").Properties.Item("FullPath").Value = path; 

System.Reflection.TargetParameterCountException: nombre incorrect de paramètres. (Exception de HRESULT: 0x8002000E (DISP_E_BADPARAMCOUNT)) à EnvDTE.Property.set_Value (Object lppvReturn)

Je sais que j'ai un objet ProjectItem valide parce que je peux afficher la valeur d'origine.

+0

Ayant même problème avec un visuel Studio Macro –

Répondre

1

Je pense que le problème est que la propriété FullPath est en lecture seule. Vous pouvez comprendre cela en regardant la définition dans MSDN - http://msdn.microsoft.com/en-us/library/vslangproj.fileproperties.fullpath.aspx - il a seulement un getter défini.

Pour appeler set_Value, vous devez mettre à jour une propriété qui a un paramètre public. Selon les propriétés documentées sur l'interface FileProperties, les seules propriétés définissables sont: