ソリューションが読み込まれるたびに実行する必要がある Visual Studio 用のアドインを作成しようとしています。最終的には、それを必要とするソリューションに対してのみ実行されるようにソリューション アドインにしたいと考えていますが、ソリューションをロードするユーザーにアドイン フックを持たせる方法があるかどうか疑問に思っています。
ありがとう。
ソリューションが読み込まれるたびに実行する必要がある Visual Studio 用のアドインを作成しようとしています。最終的には、それを必要とするソリューションに対してのみ実行されるようにソリューション アドインにしたいと考えていますが、ソリューションをロードするユーザーにアドイン フックを持たせる方法があるかどうか疑問に思っています。
ありがとう。
Saver アドインのソース コードを例として使用できます(これは Tabs Studio アドインのアドインです)。
Saver.cs では、イベントをサブスクライブします。
solutionEventsSink = new SolutionEventsSink(orderController);
System.IServiceProvider serviceProvider = new Microsoft.VisualStudio.Shell.ServiceProvider(dte as Microsoft.VisualStudio.OLE.Interop.IServiceProvider);
vsSolution = ServiceProvider.GetService(typeof(Microsoft.VisualStudio.Shell.Interop.SVsSolution)) as Microsoft.VisualStudio.Shell.Interop.IVsSolution;
vsSolution.AdviseSolutionEvents(solutionEventsSink, out sinkCookie);
SolutionEventsSink.cs には、実際のソリューション イベント ハンドラーがあります。
class SolutionEventsSink : Microsoft.VisualStudio.Shell.Interop.IVsSolutionEvents
VCProjectEngineEvents
SolutionLoaded
イベント。
編集:他の誰かが投稿できるサンプルを思いつくことを願っています.私が持っている唯一の関連コードは、私が投稿できないものです.