VS2010アドインの右クリック/アップデートサービス参照コマンドを「シミュレート」します。私は含まれている(Silverlight ...)プロジェクトへの参照を持っています、私はサービス参照の名前とサービスのURLを知っています。
これは、http://dedjo.blogspot.com/2007/03/adding-web-references-to-your-vs.htmlですが、asmx(System.ServiceModelの代わりにSystem.Web.Servicesを使用)では動作し、wcfでは動作しません。 選択がありますしかしコードからsvcutilを呼び出しますか?もしそうなら、どうですか? (私は、アドインの中からそれを呼び出す方法を教えてください。svcutil使用するか、slsvcutilていますか?)
おかげVS2010アドインからWCFサービス参照を更新することは可能ですか?
答えて
を、私はこのためのVisual Studioコマンドが「Project.UpdateServiceReference
」であると信じています。だから私はこのように、あなたはあなたが興味を持っているノードを選択しようとすると、このコマンドを実行することができますね。
envDTE.Windows.Item(vsWindowKindSolutionExplorer).Activate();
envDTE.ActiveWindow.Object.GetItem(@"MyProject\Service References\Proxy").Select(vsUISelectionType.vsUISelectionTypeSelect);
envDTE.ExecuteCommand("Project.UpdateServiceReference");
あなたがこれを行うにはより多くのプログラム的な方法を探しているなら、あなたのような何かを行うことができます以下。このアプローチでは、ユーザーの選択を変更してコマンドを実行するDTE自動化レイヤを使用する必要はありません。これはIServiceProviderを持つVSPackageのコンテキストの中にあり、コアVisual Studioインターフェイスなどにインスタンスを取得できることに注意してください。
また、これはAddin内で実行することもできますが、you'd need to get an IServiceProviderと(少なくとも)Microsoft.VisualStudio.Shell.Interop.dllおよびMicrosoft.VisualStudio.WCFReference.Interopへの参照を追加します。これらのバイナリのリファレンスアセンブリはVisual Studio 2010 SDKにあります。
IVsSolution solution = GetService(typeof(SVsSolution)) as IVsSolution;
if (solution != null)
{
IVsHierarchy solutionHierarchy = solution as IVsHierarchy;
if (null != solutionHierarchy)
{
IEnumHierarchies enumHierarchies;
Guid nullGuid = Guid.Empty;
ErrorHandler.ThrowOnFailure(solution.GetProjectEnum((uint)__VSENUMPROJFLAGS.EPF_ALLINSOLUTION, ref nullGuid, out enumHierarchies));
if (enumHierarchies != null)
{
uint fetched;
IVsHierarchy[] hierarchies = new IVsHierarchy[1];
IVsWCFReferenceManagerFactory wcfReferenceManagerFactory = GetService(typeof(SVsWCFReferenceManagerFactory)) as IVsWCFReferenceManagerFactory;
if (wcfReferenceManagerFactory != null)
{
while (enumHierarchies.Next(1, hierarchies, out fetched) == 0 && fetched == 1)
{
if (wcfReferenceManagerFactory.IsReferenceManagerSupported(hierarchies[0]) == 1)
{
IVsWCFReferenceManager referenceManager = wcfReferenceManagerFactory.GetReferenceManager(hierarchies[0]);
var referenceGroupCollection = referenceManager.GetReferenceGroupCollection();
referenceGroupCollection.UpdateAll(null);
}
}
}
}
}
}
Visual Studio 2010 SDKの場合は、WCF Service Consumption Tools samplesをご覧ください。
ありがとう、私もこれを試してみましょう! – TDaver
どのようなクラスにGetServiceメソッドがありますか?あなたが送信したリンクを読みましたが、DTEからIServiceProviderを取得する方法を理解できません... – TDaver
DTEをIServiceProviderにキャストしようとしました。タイプ 'System .__ ComObject'のCOMオブジェクトをインターフェイスタイプ 'System.IServiceProvider'にキャストすることができません。次のエラーが原因でIID '{8F10F540-7F5D-3F37-8D79-1E0AEB074AA0}'のインターフェイスのCOMコンポーネントのQueryInterface呼び出しが失敗したため、この操作は失敗しました:このようなインターフェイスはサポートされていません(HRESULT:0x80004002(E_NOINTERFACE)例外) 。 – TDaver
- 1. C#WindowsサービスをASP.NET Webアプリケーションに参照することは可能ですか?
- 2. Ecore Eclassesを参照しています。 xmlインスタンスからeClassを参照することは可能ですか?
- 3. Officeアドイン(C#)からコンソールアプリケーションを起動することは可能ですか?
- 4. .NET C#オフィス共有アドインWCFサービス参照例外
- 5. サービス参照と設定可能なURL
- 6. この文脈で鍵を参照することは可能ですか?
- 7. WCFサービスではなく、WCFサービスでサーバーサイドページングを実装することは可能ですか?
- 8. WCFサービスでwindsor Castleを使用することは可能ですか?
- 9. WCFサービス参照のケーシングの変更
- 10. サービスファブリッククラスタマニフェストを更新することは可能ですか?
- 11. PHP内で匿名関数を参照することは可能ですか?
- 12. VB.NETで参照メソッドを取得することは可能ですか?
- 13. 外部Webサービスを参照するWCF
- 14. php - オブジェクトが親オブジェクトメソッドを参照することは可能ですか?
- 15. 一連の変数を参照することは可能ですか?
- 16. サービス参照を更新するとapp.configが更新されます
- 17. VS2005で「Web /サービス参照の更新」と「最新バージョンへの更新」は何をしますか?
- 18. SQL Server:自己参照テーブルのカスケード更新が可能ですか?
- 19. Web参照とサービス参照の違いは何ですか?
- 20. knockoutjsが 'initialdata'オブジェクトを更新することは可能ですか?ここ
- 21. データベースからテーブルを参照しないCakePHPモデルを作成することは可能ですか?
- 22. インターフェイスとドメインオブジェクトを1つのソリューションに含めることは可能ですか?wcfサービスの別のソリューションで実装することは可能ですか?
- 23. WCFサービス(クライアント)とWCFアプリケーション(サーバー)間の通信にサービス参照を使用する
- 24. WCF Riaサービスと巡回の参照
- 25. WCFでブロードキャストすることは可能ですか?
- 26. クライアントのwcfサービスとWeb参照のwsHttpBindingが機能しない
- 27. 実行時(アドインのランタイム読み込み後)にExcel VBA参照を変更することは可能ですか?
- 28. WebサービスからAPEXトリガーを作成することは可能ですか?
- 29. WCFサービスからListViewを更新する方法
- 30. .NetアプリケーションからテストサーバーとライブサーバーでWebサービスを参照する
noone?してください、これは私のクラス世代のアドインから欠けている最後の作品です... – TDaver