2

テンプレートから選択したファイルの FullPath プロパティをオーバーライドするように VC# プロジェクトを構成しようとする Visual Studio プロジェクト ウィザードがあります。

次のコードは、関数内から使用されます

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 オブジェクトがあることがわかります。

4

1 に答える 1

1

問題は、FullPath プロパティが読み取り専用であることだと思います。これは、MSDN の定義 ( http://msdn.microsoft.com/en-us/library/vslangproj.fileproperties.fullpath.aspx ) を参照することで確認できます。ゲッターのみが定義されています。

set_Value を呼び出すには、パブリック セッターを持つプロパティを更新する必要があります。FilePropertiesインターフェイスで文書化されているプロパティによると、設定可能なプロパティは次のとおりです。

于 2012-01-18T00:15:13.973 に答える