問題タブ [portable-areas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
534 参照

msbuild - TeamCity のポータブル領域を備えた T4MVC

ポータブル エリアT4MVCを使用するソリューションがある状況があります。これには、T4MVC 用の別のプロジェクトがあり、7 つのポータブル エリアとメイン MVC3 アプリケーション用に生成されたすべてのファイルがあります。ここの指示に従い、ソリューションのビルド時にクラスを自動的に生成します。

VS2010 では、これはすべてデバッグ ビルドとリリース ビルドの両方で正常に動作しますが、問題が発生しているのは、これを TeamCity で実行しようとしているところです。

ここでビルド サーバーで T4 をセットアップする手順に従いました。ビルド サーバーでmsbuild を実行すると、TextTemplate.exe を起動してファイルを生成できることがわかります。問題は、ファイルが見つからないことです。変換するには。

TeamCity で実行されるのと同じビルド スクリプトを実行すると、ローカル マシンで同じ動作を再現することができました。

これを実行すると、msbuild から /v:diag が設定された次の出力が得られます。

ビルド サーバー上で、T4 は、必要なクラスを生成するために参照する必要があるプロジェクトを見つけることができないようです。入力フォルダーとアセンブリ参照のさまざまな組み合わせを試しましたが、必要なファイルを T4 に「表示」させることができません。

これを解決する方法はありますか?

0 投票する
1 に答える
700 参照

html - IE - ステータス バーに継続的に読み込みが表示される

私はかみそりの MVC ページを持っています - MVC ポータブル エリア経由で読み込まれます。index アクションを参照すると、すべてが正常に読み込まれ、期待どおりに動作します。

...しかし、ときどき Internet Explorer のステータス バーに読み込み中バーが継続的に表示されることがあります。ロードは完了しませんが、ページの機能は正常に動作します (したがって、すべてのリソースがロードされているはずです)

これを firefox で複製することはできません。firebug の [ネット] タブをチェックして、読み込みが遅いリソースを探しましたが、すべて問題ないようです。

設定した時間の経過後に読み込みバーを停止させたいと思っています (これが問題を隠している可能性があることは知っていますが、ページの何が問題なのかを見つけることができないようです!!) 方法はありますか?これ?

0 投票する
1 に答える
1474 参照

asp.net-mvc - ポータブルエリアとマルチプロジェクトエリア?

これら 2 つの実装の長所と短所を教えてください。

私の文脈:私たちは多くの異なるドメインを含む大規模なプロジェクトを持っています。各ドメインは当然エリアになります。しかし、多くの異なるチームがそれぞれに取り組むため、ビジネス ルールを分離したいと考えています。ソリューションでこれらの領域を管理する最善の方法は何ですか?

別のプロジェクトやポータブル エリアでのエリアの例を数多く見てきました。しかし、私は決断を下すことができません。

私の視点から :

別のプロジェクト

  • 単純
  • コンテンツ (JS、CSS など) の管理が難しい。メインサイトにある必要がありますか?
  • 最高のパフォーマンス

ポータブルエリア

  • すべてのコンテンツ、ビューは同じプロジェクトにある必要があります
  • エリア間でのコード重複の可能性
  • 制約 : name 、埋め込みリソース、...
  • MVC Contrib の一部: サポート期間は延長されますか?
  • コンポーネント : 機能の再配布に最適

ありがとう、

0 投票する
1 に答える
131 参照

c# - Web アプリから MvcContrib.Bus のポータブル領域にメッセージを送信できますか?

行き詰まる前に、誰かがこれをやったのだろうかと思いました。

MvcContrib.Bus について調べたすべての例は、ポータブル領域からホストに送信されるメッセージを示しています。ホストからポータブル領域にメッセージを送り返すことができるようにしたいのですが、これが可能かどうか疑問に思いました。

0 投票する
2 に答える
1442 参照

asp.net-mvc - MVC4 ポータブル エリア?

MVC4 は、ポータブル領域を実現するために MVCContrib 要件を削除しますか? それともまだ必要ですか?

MVCContrib なしで試してみましたが、残念ながら、典型的な「ビュー 'インデックス' またはそのマスターが見つからないか、検索された場所をサポートするビュー エンジンがありません。」という例外が発生します。

検索された場所のリストには、技術的には正しい " ~/Areas/Inbox/Views/Default/Index.cshtml " が含まれていますが、ビューが見つからないだけです。

いくつかの説明:

メインの MVC4 アプリケーションと、「プラグイン」(もしそうなら) MVC4 アプリがあり、これには Inbox と呼ばれる領域と、Default という名前のコントローラーとビューが含まれています。メイン アプリでこのプラグイン アプリを参照し、View が返される DefaultController の Index メソッドでブレークポイントをヒットできます。そのため、メイン アプリがプラグイン アプリを操作し、要求を適切なコントローラーにルーティングしていることがわかります。実行していないときに、DefaultController の return View() ステートメントにカーソルを合わせると、バルーンに目的のビューが表示されますが、実行時に見つからないだけです。

誰かがこれに遭遇しましたか?それは本当に単純なことであり、私の愚かな見落としであると確信していますが、何時間も試してみましたが、解決策が見つかりません. 前もって感謝します!

0 投票する
1 に答える
316 参照

asp.net-mvc-4 - MVC4 + MvcContrib +共有レイアウト?

別のアセンブリにポータブル領域があり、メインアセンブリにある共有_Layout.cshtmlのRenderBody()の呼び出しを介してそのビューにデータを入力する必要があります。しかし、私が得た結果は、_Layout.cshtmlがレンダリングされていないかのように、ビューのコンテンツだけです。さらに、ビュー(ポータブル領域)で定義された領域もレンダリングされません。これは、_Layout.cshtmlが完全に無視されているように見えるため、実際には一種の予想です。

それで、私は何か間違ったことをしているのですか、それともポータブルエリアがどのように機能するように設計されているのか誤解していますか?メインのWebアプリケーションで「マスターページ」機能を維持しながら、この機能を使用してビューと領域をポータブル領域に移動することを本当に望んでいました。

0 投票する
2 に答える
830 参照

c# - ポータブルエリアには同じコントローラー/フォルダーがあります

私は MVC 3 と MVC Contrib を使用してポータブル領域を作成しています。問題は、ポータブル領域が同様のビュー (ホーム、ユーザー管理など) を持っていることです。

たとえば、各ポータブル領域には、ホーム ビュー (Views/Home/Index.cshtml) とホーム コントローラー (Controllers/Home.cs) があります。ページにアクセスするには、MySite/PortableAreaName/Controller/View に移動するようにルーティングが設定されています。

問題は、最初のポータブル エリアのホーム ページとユーザー管理ページしか読み込まないことです。最初にそのビューを見つけてから、URL で指定された領域に関係なくロードします。

すべてにプレフィックスを付けることもできますが (例: Area1Home、Area1UserManagement)、よりスケーラブルなソリューションを見つけたいと思います。それぞれ 10 個のビューを持つ 50 個以上のポータブル エリアを取得した場合、どのビュー名を使用したかを追跡するか、すべてのビューにプレフィックスを付ける必要があります。

助言がありますか?さらに情報が必要な場合は、お知らせください。

更新 1 - 機能しませんでした

twang が提供する記事を使用して解決し、次のコードをメイン プロジェクト (リンクされた記事の「PortableAreas」) に追加します。

記事: http://elegantcode.com/2012/04/06/mvc-portable-areas/

メイン プロジェクト > Global.asax.cs

ポータブル エリア > MyPortableAreaRegistration.cs

私が理解している限り、次の場所がリソースのデフォルトです。

  • マイポータブルエリア/コンテンツ/画像
  • MyPortableArea/スクリプト

これらのフォルダーにリソースを保持している限り、それらを登録するべきではありません。

更新 2

以前の修正は機能しませんでした。上記のコードを使用しても、間違ったビューやリソースなどが読み込まれることがあります。これを修正する方法を知っている人はいますか?

デバッグすると、正しいコントローラーとそのコントローラー内の正しいビューに移動しますが、間違ったビューをロードします (たとえば、Area2 のコントローラーと Area2 の Home page メソッドになりますが、Area1 のホームページをロードします。

たとえば、2 つのポータブル領域がありますが、常に最初の領域が読み込まれます

MyPortableArea1/Controls/Home, MyPortableArea1/Scripts/Views/Home/index.js MyPortableArea2/Controls/Home, MyPortableArea2/Scripts/Views/Home/index.js

一度に全部登録するからだと思いますか?次に、ルートの一致が見つかると、最初の一致が使用されます (これは間違っている場合があります)。

アップデート 3

コードをステップ実行した後、レイアウトのセクションが正しく読み込まれていないようです。たとえば、MyPortableArea2 の HomeController > Index() に到達し、レイアウトをロードしてから、レイアウトは @RenderBody() セクションで MyPortableArea1 のコンテンツをロードします。

更新 4

http://mvccontrib.codeplex.com/から最新バージョンの MvcContrib に更新されました。これはうまくいきませんでした。

更新 5

だから私は少しテストを行い、間違ったページをロードする理由を突き止めました.Areaがまったく見つかりません. それはシステムにもないようです!

例: PortableArea1/Home/Index

例: PortableArea2/Home/Index

間違ったページをロードすると、ビューが見つからないというエラーが表示されるようになりました。ポータブルエリアをロードしないのはなぜですか??

0 投票する
1 に答える
430 参照

asp.net-mvc - Htmlヘルパーを使用する場合のポータブルエリアMVCビューフォームのNullReference

アップデート

原因はMvcContribの依存関係と.NET4.5Webアプリの競合であると考え、MvcContrib PAの使用を避けようとしたため、それらを使用せずに新しいソリューションを完全に再構築しました(Autofac + MEFで実験しています)。しかし、このソリューションでも、まったく同じエラーが発生しました。私の見解の時点で1行をコメントアウトすると、問題のメソッドはモデルのTitleプロパティの@Html.EditorForであることがわかります。@ Html.TextBoxForに置き換えると、すべてが機能しているように見えます。したがって、これはPAとMvcContribの問題を除外しているようです。何か案が?

元の投稿

いくつかのポータブル領域( http://lostechies.com/erichexter/2009/11/01/asp-net-mvc-portable-areas-via-mvccontrib/)を備えたMVC4Razorアプリで奇妙な問題が発生しています。エリアビューでHTMLヘルパーを使用すると、突然例外がスローされ始めました。例外は次のようなものです。

私の見解に関連するコードは次のとおりです。

2つのliの内容をコメントアウトすると、すべてが機能します。コメントを外すと、actionメソッドが結果を返すとすぐに例外が発生します。ビューに渡されるモデルがnullでないことを確認できます。また、 @ Model.Titleを使用して段落を追加することで、エラーなしでそのフィールドにアクセスすることもできます。@Html ...行のいずれかにブレークポイントを設定しようとしましたが、ヒットせず、同じ例外がスローされます。

ビューを含む私のポータブル領域に何か問題があるように見えますが、この例外からは何の手がかりも得られません。これがPAを使用してアーキテクチャ全体を構築するための私の手順です。少なくともこれは私のような初心者(VS2012、C#、MVC4)に役立つ可能性があります。

a)新しい空白のソリューションを作成します。その中で、 PAを保持する新しいクラスライブラリプロジェクトを作成します。NuGetを使用してこのプロジェクトMvcContrib.Mvc3-ciに追加し、 MVCアセンブリへの参照(System.Web.Mvc、System.Web.Routing、System.Web.Razorなど:ホストからすべてのMVC関連の参照をコピーしましたWebプロジェクト-以下の(b)-を参照してください。コントローラ、モデル、およびビューのサブフォルダを使用して、 PAフォルダを作成します。ビューを埋め込みリソースに設定し、次のように、 PortableAreaRegistrationから派生したエリア登録クラスを(PAフォルダーの同じ名前空間に)追加します。

また、Areasフォルダーに最小限のweb.configを追加します。

そして、Viewsフォルダーに_ViewStart.cshtmlを配置します(ホストWebアプリから取得します)。

b)PAプロジェクトと同じMvcContribを参照して、ホストWebアプリケーションを作成します。global.asaxで、 PortableAreaRegistration.RegisterEmbeddedViewEngine()への呼び出しを追加して、次のようにします。

また、このWebアプリケーションに(管理目的で)(移植性のない)領域を追加しました。そこで、Areasフォルダーで、web.configのpages要素にvalidateRequest = "false"(http://www.myclojureadventure.com/2010/06/mvccontrib-portable-areas-part-1.html)があることを確認します。次に、ルートでエリア名を指定でき(もちろん、Resharperなどのツールはビューでエラーを通知しますが、無視しても問題ありません)、ホストWebアプリに物理的に配置されているかのようにPAに移動します。 。

0 投票する
2 に答える
879 参照

asp.net-mvc-4 - ポータブルエリアで埋め込みファイルが見つかりませんMVC4C#

2つのプロジェクトを含むソリューションがあります。ポータブルエリアプロジェクト、およびポータブルエリアプロジェクトを参照するWebサイト、および両方がMvcContribを参照します。

私が抱えている問題は、埋め込まれたリソースにあります。それらにアクセスしようとすると、404エラーが発生します。dllではなく物理パスにアクセスしようとしているようです。部分ビューは正常に機能します。

アクセスしようとしているファイルは、VisualStudioソリューションエクスプローラー内で次のようになります。

AdHocReporting / Areas / AdHocReportBuilder / Content / adhoc.css(ビルドアクションが埋め込まれています)

ポータブルエリアのルーティングは次のとおりです。

これは、ポータブル領域への参照があるWebサイトGlobal.aspxです。

これが私のソリューション探索がどのように見えるかの画像です:

ソリューションエクスプローラー