2017-09-18 1 views
0

Visual StudioのC#プロジェクトテンプレート:$のsafeprojectnameの$パラメータ

私は、プロジェクトテンプレートを作成しようとしていると私はsafeprojectnameにいくつかのファイル名を置き換えたいです。

ソースファイルでは機能しますが、プロジェクトファイル(.csproj)itsefでは機能しませんでした。

<TemplateContent>  
    <Project TargetFileName="$safeprojectname$.csproj" File="$safeprojectname$.csproj" ReplaceParameters="true">  
     <Folder Name="Definition File" TargetFolderName="Definition File"> 
     <ProjectItem ReplaceParameters="true" TargetFileName="$safeprojectname$.txt">$safeprojectname$.txt</ProjectItem> 
     </Folder> 
    <TemplateContent> 

プロジェクトファイルの命名に$ safeprojectname $を使用することが可能ですか?

MSDN says:

safeprojectname:削除すべての安全でない文字とスペースで、[新しいプロジェクト]ダイアログボックスでユーザーが指定した名前。

プロジェクタ名に$ safeprojectname $を使用することができない場合は、が削除される危険な文字はです。

+0

この質問に関連するものは、こちらを参照してください。https://stackoverflow.com/questions/26832203/visual-studio-item-template-replace-with-project-name –

+0

はい、私はそのトピックを見ました。私の問題は少し違う。 $ safeprojectname $はソースファイル名では機能しますが、projectname自体では機能しません。私はそれを処理する必要があります。 – tutalia

答えて

1

私は何Path.GetInvalidFileNameChars()が返す同じ

を削除します安全でない文字が何であるかを知っている必要があります。したがって実際には:\/*?"<>|の任意の文字です。これらの文字が、コマンドラインで使用され、フルパス名を構成するときに、特殊な処理を行う方法に注意してください。それらをプロジェクトファイル名に表示させると、多くの問題が発生します。

+0

私が必要とするのは、文字列をsafeprojectnameに変換する私自身のC#メソッドを書くことでした。 Path.GetInvalidFileNameChars()は多くの助けになりました。ありがとうございました。 – tutalia

関連する問題