2011-01-05 13 views
1

私はASP .NET 2.0 WebSiteをWebRole(ASP.NET 4.0とVS2010)に移行しています。新しいWebロールを作成した後、WebサイトからすべてのファイルとフォルダをWebRoleに移動し、必要なすべてのDLLを参照しました。私はビルドとWebの役割スタンドアロンと問題なくすべての大丈夫を実行します。私が構築しWindowsAzureProjectを実行したときにエラーがWindows Azure - ロールエントリポイントを作成できませんでした

[fabric] Role state Stopping 
[fabric] Role state Stopped 
[fabric] Role state Aborted 
[fabric] Role state Teardown 
[fabric] Role state Destroyed 
[runtime] Role entrypoint could not be created: 
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 
    at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) 
    at System.Reflection.Assembly.GetTypes() 
    at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CreateRoleEntryPoint(RoleType roleTypeEnum) 
    at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum) 

とステータスを思い付くの下、

を「操作がキャンセルされた」が、それは解決に数日私を取るが、何も見つかりませんでした。私はすべての参照dllに対して "ローカルコピー"をtrueに設定しましたが、それも有効ではありません。私はちょうどspring.coreとspring.aopがエラーを引き起こしたと思っていますが、どのようにデバッグし、どこでクラッシュするのかわかりません。

この場合私を助けてください。ありがとう、私の貧しい人々のために申し訳ありません

答えて

0

おそらくWebRole.csファイルを削除しましたか?

+0

いいえ、私はありません。私はWebRoleクラスのOnStart()にブレークポイントを置いても、そこにジャンプしません:( –

1

この問題を最も簡単にデバッグするには、導入用にIntelTIraceを有効にして、それをデバッグする方法があります。これは、これを行う方法に関するgood postです。また、診断を有効にして、tryup catchでstarupをラップした後にログに記録することもできます。 Intelitraceは最善の方法です。

0

また、依存関係の依存関係をWebロールで明示的に参照する必要があります。つまり、ソリューション内のdllや別のプロジェクトを参照する場合は、そのプロジェクトまたはdllの依存関係を含める必要がありますCopyLocalをtrueに設定してWebロールの参照に追加します。

これは、Azureパッケージャが依存関係ツリーをスキャンしないため、参照の最初のレベル、つまり役割の参照のみを調べるため、ツリーのさらに下にあるdllが見つからない可能性があります。タイプロード例外。

スコットの答えはあなたがどのdllが見つからないかを助けるはずです。希望が役立ちます。