4

ここで少し問題があります。

VS2010で使用されているものと同様のテンプレートを使用して、C#プロジェクト(およびソリューション)(たとえば、C#コンソールアプリケーション)を生成できるようにしたいと考えています。基本的に、それを実行するメソッドGenerateConsoleApplicationが必要です。ただし、これらのいくつかを生成する必要があるため、テンプレートを使用して、.csprojファイルおよびapp.xmlファイルと一緒に生成されるprogram.csクラスのMainメソッドにデータを入力します。

public void GenerateConsoleApplication()
{
    var projectName = "MyConsoleApplication";
    var projectLocation = "C:\temp";

    // what goes here so that it creates a solution Visual Studio that I could use ?
}

VS2010でC#コンソールアプリケーションを生成するために使用されるプロジェクトテンプレートを調べ、ニーズに合わせて変更できると考えています。しかし、前述のテンプレートを使用して新しいソリューションのすべてのファイルを生成するために、(コードに関して)何を書く必要があるのか​​わかりません。誰かがそれを行う方法を知っていますか?またはそれが可能でさえあれば?

csprojファイルなどを書くだけでいいのですが、テンプレートを使えばもっと簡単に変更できると思います。

4

1 に答える 1

1

私がする必要があることをちょうど見つけました。

問題は、テンプレートファイルの解析に要約されます。パーサーを取得したら、タグを適切な値に置き換えることができます。Visual Studioのパーサーを使用してそれを実行し、既に使用しているテンプレートを少し変更したかったのですが、それは不可能です。

したがって、独自のパーサーを作成し、それを使用してファイルを生成する必要があります。次に、Regexを使用して、テンプレートファイルのタグをRegex.Replace(String、String、MatchEvaluator)メソッドに置き換えることができます。

于 2012-08-10T11:43:59.537 に答える