20

Windows Azure を使い始めたばかりで、Azure エミュレーターを使用してローカルで小さな MVC アプリケーションを実行しています。無料試用版にサインアップし、公開プロファイルをダウンロードして、VS2012 にインポートしました。Azure に発行され、いくつかのアセンブリ参照エラーが発生しました。local = true をコピーするように設定することでこれを解決しました。

    Not running in a hosted service or the Development Fabric. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: Not running in a hosted service or the Development Fabric.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[InvalidOperationException: Not running in a hosted service or the Development Fabric.]
   Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.GetDefaultStartupInfoForCurrentRoleInstance() +447
   Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener..ctor() +40

[ConfigurationErrorsException: Could not create Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.]
   System.Diagnostics.TraceUtils.GetRuntimeObject(String className, Type baseType, String initializeData) +6792949
   System.Diagnostics.TypedElement.BaseGetRuntimeObject() +45
   System.Diagnostics.ListenerElement.GetRuntimeObject() +83
   System.Diagnostics.ListenerElementsCollection.GetRuntimeObject() +143
   System.Diagnostics.TraceInternal.get_Listeners() +181
   System.Diagnostics.TraceInternal.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args) +155
   DotNetOpenAuth.Loggers.TraceLogger.Info(Object message) +26
   DotNetOpenAuth.Logger.CreateWithBanner(String name) +45
   DotNetOpenAuth.Logger..cctor() +14

[TypeInitializationException: The type initializer for 'DotNetOpenAuth.Logger' threw an exception.]
   DotNetOpenAuth.Logger.get_Library() +14
   DotNetOpenAuth.Reporting.Initialize() +410
   DotNetOpenAuth.Reporting.set_Enabled(Boolean value) +31
   DotNetOpenAuth.Reporting..cctor() +285

[TypeInitializationException: The type initializer for 'DotNetOpenAuth.Reporting' threw an exception.]
   Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start() +41

[InvalidOperationException: The pre-application start initialization method Start on type Microsoft.Web.WebPages.OAuth.PreApplicationStartCode threw an exception with the following error message: The type initializer for 'DotNetOpenAuth.Reporting' threw an exception..]
   System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) +550
   System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +132
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath) +90
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +135
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +516

[HttpException (0x80004005): The pre-application start initialization method Start on type Microsoft.Web.WebPages.OAuth.PreApplicationStartCode threw an exception with the following error message: The type initializer for 'DotNetOpenAuth.Reporting' threw an exception..]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873912
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254



--------------------------------------------------------------------------------

ローカルでテストしていて、Web プロジェクトをクラウド プロジェクトではなくスタートアップ プロジェクトとして設定している場合にこのエラーが表示された場合、前述のように、これはエミュレーターに対してローカルでは正常に機能しますが、Azure にデプロイすると失敗します。

私がここで見逃しているアイデアはありますか?

ありがとう

4

2 に答える 2

19

Windows Azure Role プロジェクトを "Startup" プロジェクトとして設定します。これで私の問題は解決しました。スタートアップ プロジェクトと同じソリューションで別の webapp を設定すると、同じ問題が発生しました。

于 2012-12-26T15:24:45.283 に答える