Проблема с использованием EnvDTE.Property.set_Value для установки свойства ProjectItem FullPath

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

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

public void 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(объект lppvReturn)

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

1 ответ

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

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

Другие вопросы по тегам