Проблема с использованием EnvDTE.Property.set_Value для установки свойства FullPath ProjectItem - PullRequest
2 голосов
/ 03 декабря 2010

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

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

public void ProjectFinishedGenerating (Project project)

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 Ответ

1 голос
/ 18 января 2012

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

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

...