プロジェクト、ソリューションフォルダ、リソースファイルなどのその他のアイテムをプログラムに追加してソリューションに追加したいと思っていましたが、そのための最善の方法は何かを正確には分かりません。Visual Studioソリューションファイルをシリアル化および逆シリアル化するか、プログラムで編集しますか?
知られていない人にとっては、非常に単純化されています。これはsulutionファイル(の.sln)は、通常、どのように見えるかです:
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "project name", "projectpath\name.csproj", "{785ECC80-AF1B-4FBC-B97B-2EC43B7E81E8}"
EndProject
Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{785ECC80-AF1B-4FBC-B97B-2EC43B7E81E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
EndGlobalSection
EndGlobal
私は、これは、このようなXML(?それはある)のように、実際のオープンな標準であるかどうかわからないんだけど、それは一種の視覚的なように思えます基本チームはxmlの独自のバージョンを作った。 (賛辞ではない)
とにかく、これをオブジェクトとの間でシリアル化およびデシリアライズするにはどうすればよいでしょうか?私は自分のIFormatterを作ることを考えていましたが、それはやや複雑なようです。 EnvDTEライブラリを使用して
Visual Studioマクロを使用するとどうなりますか? マクロを使用すると、VS IDEでほぼすべてのコマンドを自動化できます。 VSバージョンごとにフォーマットが少し変わるので、私はsln/prjファイルを編集しません。 – SvenG
今のところ、vs2010のソリューションファイルを編集するだけで済みます。そして私はVisual Studioマクロがそうするとは思わない、私は実際のクラスライブラリのために必要とするつもりです。 –
実行中のマシンでVS IDEが利用可能であることが確かであれば、バックグラウンドでVS IDEを開き、DTEインターフェイス経由でタスクを自動化することができます。 http://www.mztools.com/articles/2005/mz2005005.aspx – SvenG