2010-12-03 2 views
2

У меня есть мастер проектов Visual Studio, который пытается настроить проект VC# для переопределения свойства FullPath для выбранных файлов из шаблона.Проблема с использованием EnvDTE.Property.set_Value для установки свойства ProjectItem FullPath

Следующий код используется из функции

общественного недействительными ProjectFinishedGenerating (Проект)

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

System.Reflection.TargetParameterCountException: Неверное число параметров. (Исключение из HRESULT: 0x8002000E (DISP_E_BADPARAMCOUNT)) в EnvDTE.Property.set_Value (Object lppvReturn)

Я знаю, что у меня есть действующий объект ProjectItem, потому что я могу показать исходное значение.

+0

Имея такую ​​же проблему с Визуальное Студия Макро – 2012-01-17 23:35:28

ответ

1

Я думаю, проблема в том, что свойство FullPath доступно только для чтения. Вы можете понять это, посмотрев определение в MSDN - http://msdn.microsoft.com/en-us/library/vslangproj.fileproperties.fullpath.aspx - он имеет только определенный геттер.

Для вызова set_Value необходимо обновить свойство, имеющее общедоступный сеттер. По свойствам документированных на интерфейсе FileProperties, только отверждаемые свойства: