ローカルの開発ファブリックでWindows Azure Webロールを実行すると、次のエラーが発生します。
「現在のサービスモデルは同期していません。サービス構成ファイルと定義ファイルの両方が有効であることを確認してください。」
どのような問題が考えられるか?
同僚の1人がこの問題にぶつかり、少し遊んでみたところ、2つのサービス構成ファイル(クラウドとローカル)の設定の数が異なるという問題がありました。
彼が同期するように構成ファイルを更新したとき、すべてが機能しました。
ヒントは、Visual StudioのGUIを使用して、両方に新しい設定を同時に追加することです。 GUIには、Webロールと選択プロパティを右クリックしてアクセスできます。これでウィンドウが開くはずです。左側の[設定]タブをクリックします。
それが役に立てば幸い
私にとって、これは、Azureプロジェクトが1つのPCから別のPCにコピーされたことが原因でした(Win 7からWin 8.1に移行中)。両方でVS 2013 Communityエディションを使用していますが、Win7上のAzure 2.4からWin 8.1マシン上のAzure 2.5にアップグレードしました。
Azureプロジェクトをアンロードしてcsprojファイルを編集する場合、簡単な編集(コメントの追加など)を行って保存するだけで、それ自体が書き換えられます。これは私の場合にそれを修正しました(CSDEFおよびCSCFGファイルのエラーをチェックするために年齢を費やしていました)。 csprojファイルを再度保存すると、問題なく動作しました。
私はここですべての答えに従いましたが、それでも機能しませんでしたが、最終的にビジュアルスタジオを再起動すると機能しました。
解決策は、ここでの1つ以上の回答とVSの再起動の組み合わせであったと思います
私のために働いたのは:
.cscfg
ファイルと.Local.cscfg
ファイルが同一であることを確認します(デバッグのためにLocal.cscfg
にいくつかの違いがある必要がある場合を除きます)。.csdef
ファイルに.cscfg
ファイルと一致する定義が含まれていることを確認してから、.ccproj.user
ファイルを削除します。プロジェクトをリロードした後、すべてが順調でした。
これは、私のクラウド構成ファイル(.cscfg)の1つに、ServiceDefinition.csdefで定義されたいくつかのキーと値のペアが欠落していたために起こりました。
手動でファイルを調べるのは面倒でした。矛盾を発見する簡単な方法があります:
ソリューションエクスプローラーで、クラウドサービスを構成する役割の1つを右クリックし、コンテキストメニューの[プロパティ]をクリックします。
[役割のプロパティ]ウィンドウが灰色で開き、次のようなエラーメッセージが表示されます。
「サービス定義またはサービス構成が無効です。詳細については、エラーリストを参照してください。」.
[エラーリスト]ウィンドウを開くと、特定の不一致のリストがファイル名とプロパティ名とともに表示される場合があります。
サービス構成に実際の障害がない場合、エラーが発生する可能性があります。発生し、すべてが正しいように見える場合は、Visual Studioを再起動する代わりに、azurecloudプロジェクトをアンロードします(右クリック:unload proecjt
私は同じ問題を抱えており、プロジェクトファイルの変更を含め、このページでいくつかの回答を試しました。最初に、cscfgファイルとcfdefファイルにエラーや不一致がないことを確認しました。最終的に私のためにそれを解決したのは、danfromisraelが示唆するように、VSを再起動することでした。
ServiceConfiguration.Cloud.cscfg
およびServiceConfiguration.Local.cscfg
ファイルをクロスチェックしてください。私の問題は、Local.cscfg
に構成を追加しましたが、Cloud.cscfg
に構成を追加するのを忘れていました
@danfromisraelの提案に従ってVSを再起動することで問題が解決しました。
Danfromisraelに感謝します。
私もこの問題を抱えていました。私の問題は、csdefファイル内の誤った証明書定義でした。
他の人を助けるかもしれない:
私にとっての問題は、私が使用していたWifiがPORT Azureが使用しているブロックされたということでした。Wifiを変更するとその問題は解決しました。
私にとって、この問題は、さまざまな環境で自分の役割の1つに割り当てたvmName
値間の不一致であることがわかりました。開発、テスト、本番環境用の* .cscfgファイルがあります。これらのそれぞれには、
<Role name="HardWorker" vmName="SomeName">...</Role>
しかし、1つは
<Role name="HardWorker" vmName="SomeOtherName">...</Role>
そして、それは明らかに、エラーを引き起こすのに十分でした。
この問題が発生しました-エラーはありません。私はいくつかの奇妙な理由のために、設定が:
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
コメントアウトされた場合、workerroleは起動しません。