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

Properties 使用EnvDTE.Property.set_值设置ProjectItem FullPath属性时出现问题,properties,envdte,projectitem,Properties,Envdte,Projectitem,我有一个VisualStudio项目向导,它试图配置一个VC#项目来覆盖模板中选定文件的FullPath属性 以下代码在函数中使用 公共无效项目完成生成(项目) System.Reflection.TargetParameterCountException:参数数无效。(来自HRESULT的异常:0x8002000E(DISP_E_BADPARAMCOUNT)) 在EnvDTE.Property.set_值处(对象lppvReturn) 我知道我有一个有效的ProjectItem对象,因为我可以

我有一个VisualStudio项目向导,它试图配置一个VC#项目来覆盖模板中选定文件的FullPath属性

以下代码在函数中使用

公共无效项目完成生成(项目)

System.Reflection.TargetParameterCountException:参数数无效。(来自HRESULT的异常:0x8002000E(DISP_E_BADPARAMCOUNT)) 在EnvDTE.Property.set_值处(对象lppvReturn)


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

我认为问题在于FullPath属性是只读的。您可以通过查看MSDN中的定义来了解这一点——它只定义了一个getter

要调用set_值,需要更新具有公共setter的属性。根据界面上记录的属性,唯一可设置的属性为:


Visual Studio宏也有同样的问题
string path = "some file name";
project.ProjectItems.Item("some file").Properties.Item("FullPath").Value = path;