パッケージコンストラクタで、OnStartupCompleteイベントのイベントハンドラを追加しました。しかし、コードを実行すると、イベントハンドラは呼び出されません。私は間違って何をしていますか?DTEEvents.OnStartupCompleteイベントがVSPackage(VSSDK2010)で動作しない
答えて
コードをパッケージコンストラクターからパッケージのInitialize()メソッドに移動してみてください。それは助けなければなりませんが、もしそうでなければ、他のUICONTEXT _をテストしますか???? AutoLoad属性の値は、おそらくUICONTEXT_NoSolutionですか?
明示的な参照がない限り、DTEEvents
オブジェクト(イベントハンドラを含む)をリサイクルするバグがあります。あなたはこのようなものが必要:
[ProvideAutoLoad(VSConstants.UICONTEXT.NoSolution_string)]
[ProvideAutoLoad(VSConstants.UICONTEXT.SolutionExists_string)]
class MyPackage : Package
{
DTEEvents _EventsObj;
protected override void Initialize()
{
var dte = (EnvDTE.DTE)GetService(typeof(EnvDTE.DTE));
_EventsObj = dte.Events.DTEEvents;
_EventsObj.OnStartupComplete += OnStartupComplete;
}
void OnStartupComplete()
{
}
}
優秀かつ完全に正しい。ありがとうございました! – Kram
は、ここに私の答えを参照してください:http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/eb1e8fd1-32ad-498c-98e9-25ee3da71004
私はあなたがイベントサブスクリプションを行う前に、あなたのDTEオブジェクトをボクシングとアンボクシングされる可能性があるため、それがあると信じています。これは非常に厄介なことであり、DTEオブジェクトはイベント購読の目的でサービスロケーションを簡単に通過することができません。しかし、これが原因と思われる。
私はDTEオブジェクトへの参照を保持しようとしましたが、とにかくそれをやっていたのと同じように違いはありませんでした。いくつかのイベントは機能し、いくつかのイベントは機能しません。これは一貫しています。
- 1. onmouseoverイベントがfirefoxで動作しない
- 2. Jquery:onunloadイベントでJqueryが動作しない
- 3. jQueryの.tapイベントが動作しない
- 4. jQuery tipsy clickイベントが動作しない
- 5. ComboBoxModelイベントが動作しない
- 6. winforms keydownイベントが動作しない
- 7. WPF app.xaml exitイベントが動作しない
- 8. 操作イベントが起動しない
- 9. magentoイベントが動作しない
- 10. VSがカスタムエディタでVSPackageプロジェクトを作成できないのはなぜですか?
- 11. jQueryでバインド 'touchstart'イベントがアンドロイドphonegapとバックボーンで動作しない
- 12. UIButton内部イベントがios5で動作していないときにiOS5で正常に動作しない
- 13. PhoneGapのイベントがiPhoneで動作しない
- 14. selectionChangedイベントがノックアウトで動作しないjs
- 15. Javascriptの 'onkey *'イベントがリンクブラウザで動作しない
- 16. Server Sentイベントが本番環境で動作しない
- 17. Primefaces AJAXイベントがtabView内で動作しない
- 18. Protovis JavaScriptがドロップダウンリストの変更イベントで動作しない
- 19. PhoneGapイベントがiPhoneで起動しない
- 20. jQuery onload - 動的にロードされるiframeで動作しないイベント.load() - イベント
- 21. jQuery.attr()メソッドが「クリック」イベント内で動作しないのはなぜですか?
- 22. カスタムコントロールのpaintイベントがForm.csで動作しないのはなぜですか?
- 23. jqueryアニメーションリセット後にイベントが動作しない
- 24. アンドロイド:チタンのバック(デバイスバックボタン)イベントが動作しない
- 25. jQuery Dialog Closeイベントが正常に動作しない
- 26. jQueryフォーム送信イベントが動作しない
- 27. Facebook api deleteイベントが動作しない100%
- 28. pixijs mousedownイベントが動作しない(すべてのバージョン)
- 29. jQueryのセレクタは、jQueryのイベント内で動作していない
- 30. iOSでWebcalイベントを購読するSafariが動作しないが、OSXで動作する
パッケージはデフォルトで読み込まれます。 Visual Studioに起動時にパッケージを読み込むように指示していますか?この質問に対する答えを見てください:http://stackoverflow.com/questions/7815461/vsix-execute-code-on-vs-startup – Will
私はPackageAutoload属性を使用しましたが、この属性はVSがプロジェクトまたはソリューションファイル。 StartPageを開くためにVSのみを開くと、パッケージはロードされません!! – dattebayo
私はそれが本当であるとは思わない。あなたのパッケージに置くことができる他の属性があります。これは、パッケージにソリューションが存在するときだけロードされるべきであることをVSに伝えます。あなたはそれらのうちの1つを使っていないと確信していますか? – Will