4

slnファイルからのプロジェクトGUIDのリストがあります。

プログラムで各GUIDに対応するプロジェクトを見つける必要があります。

これどうやってするの?

4

3 に答える 3

3

プロジェクト GUID は、次のように .sln ファイル内にプロジェクト名とともに保存されます。

Project("{Project Type GUID}") = "MyProject",
"Source\MyProject\MyProject.vbproj",
"{AB5BA87B-77D5-4812-B02C-9B4FB87F4EF6}" EndProject

理論的には、ソリューション ファイルを事前に解析し、プロジェクトと GUID の関連付けのマップを作成できます。そのマップが確立されると、プロジェクトの GUID への参照を実際のプロジェクト名と簡単に交換できるはずです。

注: プロジェクト ファイルに表示される最初の GUID は、実際のプロジェクトではなく、プロジェクト タイプのものです。これは、Visual Studio がファイルを開いて操作するときに使用するテンプレートを管理するのに役立ちます。この場合に必要なものは{AB5BA87B-77D5-4812-B02C-9B4FB87F4EF6}です。

于 2012-09-10T15:36:23.100 に答える
1

Visual Studioのセットアップはすべて、レジストリの次のようなキーにあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\[Version]

バージョンは「9.0」(VS2008)、「10.0」(VS 2010)、「11.0」(VS 2012)のようになりますが、Visual Studioはカスタムの「ハイブ」キーで起動できるため、他のバージョンにすることもできます(を参照)。 devenv.exeコマンドラインの/RootSuffixパラメーター)。

したがって、通常の操作では、プロジェクトGUIDは次の場所にあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\[Version]\Projects

Visual Studioのプロジェクトは、標準プロジェクト(C#、VB.NETなど)または集約プロジェクト(C#またはVB.NET上のWPF「フレーバー」)にすることができます。

一般に、プロジェクトには、プロジェクトの種類を含むVisual Studioパッケージ(バイナリ)のGUIDを含む「パッケージ」キーがあります。

パッケージの説明はここにあります:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\[Version]\Packages

ネイティブパッケージ(C#、VB.NET、C ++、...)はネイティブCOMサーバーとして実装され、パスはInprocServer32キーで定義されます。管理対象パッケージはMSCOREE.DLLをInprocServer32キーとして定義します。また、パッケージがGACになく、パッケージCodeBaseがGACにある場合にのみAssemblyキーとなるキーもあります。

于 2012-09-10T15:10:09.617 に答える