2

新しい Xamarin Studio には多くの利点がありますが、Web プロジェクトを実行するたびに System.Security.SecurityException が発生します - 指定されたキーにアクセスできません。

実行を続けて Safari でページを更新すると、サイトは機能します。サイトが読み込まれるのは初めてです。

逆アセンブラーでここで停止します。

0000001d   call Void System.Web.WebPages.WebPageHttpHandler:RegisterExtension (String)
00000022   ldc.i4.0 
00000023   call Void System.Web.UI.PageParser:set_EnableLongStringsAsResources (Boolean)
>00000028   ldtoken System.Web.WebPages.WebPageHttpModule
0000002d   call Type System.Type:GetTypeFromHandle (RuntimeTypeHandle)
00000032   call Void  Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility:RegisterModule (Type)
00000037   newobj Void System.Web.WebPages.Scope.AspNetRequestScopeStorageProvider:.ctor ()
0000003c   call Void System.Web.WebPages.Scope.ScopeStorage:set_CurrentProvider (IScopeStorageProvider)
00000041   ret 

競合状態のようです。すべてのコンパイルが完了する前に Web サイトを起動していますか?

実行前タスクを追加したことをテストするにはsleep '8s'、すぐには実行されず、次にリンクが選択されたときに実行されます。基本的に、サイトが初めて読み込まれたとき。

コードをコンパイルして Ubuntu で実行できます。何か案は?

その他の環境データ:

  • OS-X マウンテン ライオン
  • .Net 4.0
  • プロジェクトは ServiceStack.Net を使用
  • MVC3.0
4

1 に答える 1

1

他の人が同じ問題を見つけた場合は、次のことを行った後に問題が解決したことをお知らせください(他の理由で)

  1. ソース管理 (GitHub) からコンパイル済みバイナリを削除し、.gitignore ファイルを追加しました。
  2. VS 2012 でソリューションを開きました。最初に Web サイト .csproj から「Imports ...web.targets」をコメント アウトする必要がありました。これらは Windows マシン上になく、プロジェクトの読み込みを妨げていたためです。
  3. Xamarin Studio でソリューションを開き、VS 2012 によって自動的に追加された参照 (.Web.Helpers や .Web.Entity など、web.config に挿入されたその他の参照) を削除しました。

Xamarin Studio は、アセンブリをロードするときに、デバッガーを使用して Web サイトを起動するのが遅くなりました。これらのそれぞれに 1 秒かかります。 Loaded assembly: data-0x1d9ac00 [External]しかし、エラーはありません :)

おそらく、Git がサブ プロジェクト内のバイナリ ファイルに対して何かを行っていたか、今回はたまたま正しく削除できなかった不適切な DLL 参照だったのでしょう。

于 2013-04-11T00:23:41.720 に答える