2013-02-05 14 views
5

私は、Azureストレージを使用し、Azureに正常にデプロイされたASP.NET MVCプロジェクトを持っています。ただし、プロジェクトをローカルで実行すると、Azureエミュレータは起動しません。ASP.NET MVCプロジェクトでAzureエミュレータを起動する方法

私がAzureエミュレータを起動する唯一の方法は、「Windows Azure Cloud Service」ショートカットを作成して手動で実行することです。

私のアプリを起動するときにAzureエミュレータが確実に動作するようにする方法はありますか?

+0

回答ありがとうございます。非常に参考になりますが、クラウドサービス内で実行する必要があるかどうかはどのようにわかりますか?利点は何ですか?これは、Azure開発者を行うための標準的な方法ですか? VSでデバッグを停止すると、起動時間とそれが消える方法に疲れています。 – Tom

答えて

3

MVCサイトと同じプロジェクトにクラウドサービスがあります。既にMVCプロジェクトを作成しているので、これを試してみてください。

  1. 新しいクラウドプロジェクトをソリューションに追加してください。追加するときには、どのような役割も選択しないでください。
  2. クラウドプロジェクトが追加されたら、ロールを右クリックして選択してください。
    • "Web Role Project in Solution ..."を追加すると、MVCプロジェクトを選択できます。
  3. 最後に、Cloudプロジェクトをスタートアッププロジェクトとして設定し、ローカルで実行しているときに適切な計算エミュレータとストレージエミュレータを起動します。

私はVS2012でこれを確認しましたが、これを行ってから数ヶ月が経ちました。

0

ソリューション内にクラウドサービスプロジェクトがないと、処理が複雑になる可能性があります。あなたができるいくつかのことがあります:

  1. コンピュータの起動時にストレージエミュレータを起動します。
  2. クラウドサービスを使用してプロジェクトを開始するときに、VSがどのように動作するかを見てください。
  3. アプリケーションのデバッグを開始するときに、ストレージエミュレータをコード内で起動します。

     protected void Application_Start() 
         { 
          AreaRegistration.RegisterAllAreas(); 
          WebApiConfig.Register(GlobalConfiguration.Configuration); 
          FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
          RouteConfig.RegisterRoutes(RouteTable.Routes); 
          BundleConfig.RegisterBundles(BundleTable.Bundles); 
    #if (DEBUG) 
          { 
           Process.Start(@"C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\devstore\DSServiceLDB.exe"); 
    
          } 
    #endif 
         } 
    

私の推測がされて:あなたはどうする可能性があり、このようなコードのものを使用して、あなたのApplication_Start()メソッドでは、ストレージエミュレータプロセスを開始する[これは明らかにハックではなく、必ずエレガントな1 :)です]ですこれで管理者としてVSを実行する必要があります。私は上記のコードを試して、それは正常に働いた。上記のコードでは、ストレージエミュレータがストレージ用にLocalDBを使用していることを前提としています。

+0

プロセスを手動で起動するコードを書く必要はありません。 Visual Studioスタートアッププロジェクトとして、自分の役割を含むCloudServicesプロジェクトを設定するだけです。それから、F5だけで、あなたは外に出ます。 – ryancrawcour

+0

私は最初の質問を信じて、このプロジェクトは単純なMVC Webプロジェクトであり、クラウドサービスプロジェクトではありません。クラウドサービスプロジェクトを利用するには、ストレージエミュレータを起動するだけで十分なIMOです。 –

+0

なぜこれが下落したのですか?それは実際の答えだったようです... – William

関連する問題