使用EnvDTE.Property.set_Value设置ProjectItem FullPath属性时出现问题

时间:2010-12-03 01:20:50

标签: properties envdte projectitem

我有一个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(Object lppvReturn)

我知道我有一个有效的ProjectItem对象,因为我可以显示原始值。

1 个答案:

答案 0 :(得分:1)

我认为问题是FullPath属性是只读的。您可以通过查看MSDN中的定义来解决这个问题 - http://msdn.microsoft.com/en-us/library/vslangproj.fileproperties.fullpath.aspx - 它只定义了一个getter。

要调用set_Value,您需要更新具有公共设置器的属性。根据{{​​3}}接口上记录的属性,唯一可设置的属性是: