3

設計ベースのアプローチは、新しいプロジェクト -> 他のプロジェクトの種類 -> Visual Studio ソリューション -> 空のソリューションです。

C# でプログラムによって空のソリューションを作成する必要があり、このソリューションで新しい空のプロジェクトとファイルを追加します。Web で DTE を使用したコードをたくさん見つけましたが、既存のソリューション エクスプローラーに空のプロジェクトを追加しているので、参照コードを教えてください。

4

3 に答える 3

6

次のように、DTE を使用して新しい空のソリューションを作成できます。

string visualStudioProgID = "VisualStudio.Solution.9.0";
Type solutionObjectType = System.Type.GetTypeFromProgID(visualStudioProgID, true);
object obj = System.Activator.CreateInstance(solutionObjectType, true);
Solution3 solutionObject = (Solution3)obj;
solutionObject.Create(".", "MySolution");
solutionObject.SaveAs(@"C:\Temp\MySolution.sln"); //or wherever you prefer

EnvDTE.dll、EnvDTE80.dll、および EnvDTE90.dll への参照を追加する必要があります。結果として得られるファイルは非常に単純で、他の方法で (プレーン テキスト ファイルとして) 作成することもできます。

于 2011-02-18T07:43:07.523 に答える
0

のプロジェクトファイルを使用してソリューションを作成する必要がある場合は、.slnファイル(プレーンテキストファイル)と.csprojファイル(XML MSBuildファイル)を手動で作成するよりもはるかに簡単です。 VisualStudioの自動化を台無しにします。

于 2011-02-18T05:43:54.007 に答える
0

空のプロジェクトでソリューションを手動で作成します。プロジェクト/ソリューション名/その他の特定のデータを {n} に置き換えて、後で string.Format を使用して入力できるようにします。次に、これらのファイル (sln および csproj) をアセンブリに埋め込み、それらをリソースとして使用します。

于 2011-02-18T06:47:23.050 に答える