問題タブ [t4mvc]

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 に答える
6302 参照

c# - T4MVC で . generated.cs ファイルを再生成するにはどうすればよいですか?

NerdDinner DinnersController クラスにテストを追加しています。コンストラクター インジェクションを実行するために必要なコンストラクターを作成すると、T4MVC で生成されたコンストラクター (具体的には基本コンストラクター) と競合します。基本コンストラクターが既に存在する場合、生成されないように見えますが、これは本当ですか? その場合、T4MVC ファイルを再生成するにはどうすればよいですか?

ありがとう、デイブ

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

c# - 単体テスト中に T4MVC が TypeInitializationException をスローする -- これを修正するにはどうすればよいですか?

NerdDinner ソリューションに単体テストを追加していて、これに出くわしました。ここで指定された Edit POST メソッドをテストしています。

System.TypeInitializationException が「return RedirectToAction...」行でスローされ、「'MVC' の型初期化子が例外をスローしました」と表示されます。

T4MVC でエンコードされた行を元の行 (上記でコメントアウト) に置き換えると、例外が発生しません。

ユニットテストコードは次のとおりです。

この例外がスローされる原因となる可能性のあるアイデアがいくつかありますが、ここで推測するのに十分ではありません。どのように修正するかについては、まったく不明です。

アイデア?

デイブ

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

model-view-controller - ビルド スクリプトでの T4MVC の使用

T4MVC をビルド スクリプトの一部として実行した人はいますか? できれば NAnt ビルド スクリプト。

生成されたファイルをチェックインする必要はなく、ビルドの一部としてビルド サーバーにファイルを作成させるだけで済みますが、T4MVC は Visual Studio 内でのみ実行されます。

私はもう試した:

誰かが正常に機能するソリューションを手に入れましたか?

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

asp.net-mvc - T4MVC が Html.ActionLink からコントローラ アクションを実行しようとするのはなぜですか?

私のコントローラーIUnitOfWorkでは、データベース機能のコントローラー アクションで使用されるオブジェクト (IoC から生成される) を渡します (IUnitOfWorkサービス レイヤーに渡されます)。

私のビューの 1 つで、 へのリンクを提供したい/Company/View/<id>ので、次のように呼び出します。

これはコントローラーからではなくCompany、別のコントローラーのビューから呼び出されています。問題は、MVC.Company.View(company.Id)実際にCompanyController.View(id)メソッド自体を呼び出しているように見えることです。これは2つの理由で悪いです。

1)CompanyControllerの非パラメーターのコンストラクターは呼び出されないため、UnitOfWork存在しないため、View(int id)アクションが呼び出されると、アクションのデータベース呼び出しはNullReferenceException.

2)存在する場合でも、リンクが生成されるよう IUnitOfWorkに、ビューがデータベース呼び出しをトリガーするべきではありません。Html.ActionLink(company.Name, "View", new { id = company.Id })データベース呼び出しをトリガーしない (アクション メソッドが呼び出されないため) ため、tml.ActionLink(company.Name, MVC.Company.View(company.Id))DB 呼び出しもトリガーしないようにする必要があります。それは、絶対に得られない過度のデータベース呼び出しです。

T4MVC がこのように機能するように作成された理由はありますか?


編集:これはCompanyControllerの宣言です

0 投票する
3 に答える
516 参照

asp.net-mvc - ASP.NET MVCで送信URLを生成するためのルートはどのように選択されますか?

良い一日!

ASP.NET MVC 2とT4MVCを使用していますが、コードの魔法が発生しているようです

これをルートテーブルに追加すると、次のようになります。

送信URLを生成するためにビューに次のようなものを書き込むときに、フレームワークはこのルールを適用することをどのように認識しますか?

同じコントローラー/アクションペアに対して(パラメーターが異なる)複数の異なるルールがある場合はどうなりますか?どちらが選ばれますか?この振る舞いの良い説明はどこかにありますか?

前もって感謝します!

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

.net - T4MVC AsyncController

最近、Nuget を使用して T4MVC をインストールしました。これより前の古いバージョンは正常に機能していましたが、非同期コントローラーが必要な新しい要件がありました。非同期コントローラーを作成した後、t4 と関係があるため、プロジェクトがコンパイルされませんでした。そこで、Nuget を使用して更新しました。

私が今抱えている問題は、最近t4mvcを更新するまでコントローラーが正常に機能していたことです。コードを更新するとコンパイルが実行されますが、非同期アクションを呼び出すと、長い時間が経過して返され、大量の誤ったデータが返されます。さらに、重大なことに、コントローラーにブレークポイントを設定すると、それらにヒットしなくなりますか?! DocumentController. generated.cs を最後の作業バージョンに戻すと、すべて正常に動作します。

以下は、機能する古い DocumentController. generated.cs と機能しない新しいものです。

ここで何が起こっているのかを理解するのを手伝ってくれる人はいますか? 私は T4MVC がとても良いので依存するようになりましたが、これらの非同期アクションを避けることはできません。

新着

要求されたとおり、ここに私の DocumentController クラスのスタブがあります。

}

2011 年 7 月 4 日更新

こんにちは、デイビッド、お返事に時間がかかって申し訳ありません。他の仕事を探しています。

私は問題を追跡することができました。うまくいけば、あなたはそれに光を当て、おそらく修正を作成することができます.

上記の 2 番目のコード ダンプを見ると、これに問題があります。問題は、作成したことです。

MVC がエラーをスローしているとは思いませんでしたが、そうでした。

2011-04-07 15:59:38,921 [41] FATAL MvcApplication [(null)] - キャッチされない例外が発生しました System.Reflection.AmbiguousMatchException: コントローラー タイプ 'DocumentController' でのメソッド 'GetDocumentListCompleted' のルックアップは、以下のメソッド: WebUI.Client.Controllers.DocumentController 型の System.Web.Mvc.JsonResult GetDocumentListCompleted(Web.Gateway.DocumentMetaDataCollection) System.Web.Mvc.JsonResult GetDocumentListCompleted() 型 WebUI.Client.Controllers.DocumentController の System.Web .Mvc.Async.AsyncActionMethodSelector.GetMethodByName(文字列メソッド名)

私が理解しているように、MVC システムは私のコードとあなたが作成したコードとあいまいに一致しています。

上記のコードをコメントアウトすると、すべてが再び正常に実行されます。

あなたは今、性質や問題を理解していますか?修正できますか?

乾杯、

ライアン。

0 投票する
3 に答える
3344 参照

asp.net-mvc - ASP.NetT4MVCファイルがそれ自体を更新しない

テンプレートを使用してASP.NetMVC(.Net 4.0)で作業していT4MVCます。

これまでのところ、このファイルは、プロジェクトに新しいファイル(コントローラー、ビューなど)を追加するときに、エントリで自動的に更新されていました。

しかし、何らかの理由で、それ自体の更新を停止しました。aspxプロジェクトに3つのファイルと、関連するコントローラーとモデルを含む新しいフォルダーを追加しました。しかし、それでもT4MVCはこれらのことをまったく表示せず、コンパイラーは不足しているものに対してエラーを出します。

誰かが理由を理解するのを手伝ってくれませんか?

ありがとう!

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

asp.net-mvc - T4MVCコントロールライブラリで拡張メソッドを使用する

私はいくつかのかみそりヘルパーを書きました、そしてこれらのヘルパーはT4MVCによって生成された拡張メソッドを含む関数を使用します。これらをコントロールライブラリに移動して、複数のMVCアプリケーションで使用できるようにします。私が使用した最初のアイデアは、テンプレートのコピーをコントロールライブラリに配置できるというものでした。これは機能しますが、欠点は、アプリケーションで使用されるテンプレートが同じ名前空間で同じ拡張メソッドを再生成することです。ActionResultのインターフェイスを必要とする拡張機能の一部を使用しているため、名前空間を同じままにする必要があります。

私が疑問に思っているのは、コントロールライブラリとライブラリを参照するアプリケーションで拡張機能を使用する既知の方法があるか、または静的拡張機能メソッドを生成できるようにするために必要なテンプレートを変更することです。設定ファイルのフラグ?また、静的拡張機能を、テンプレートと一緒に存在する別のcsファイルに含めることができるかどうか疑問に思っています。T4ExtensionsとDynamicT4Extensionsの2つのクラスがありますか?

ただし、これにより、インターフェイスIT4MVCActionResultの使用が強制される可能性があります。

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

asp.net-mvc - MVC3プロジェクトでT4MVCによって生成されたコードでエラーをコンパイルします

ASP.Net4およびMVC3フレームワークを使用してWebアプリケーションを開発しています。NuGetを使用してT4MVCをインストールしましたが、すべてのビュー、コントローラー、および静的コンテンツが強力な型として正常に生成されます。

しかし、プロジェクトをコンパイルしようとすると、生成されたファイルT4MVC.csでエラーが発生します。これは次のとおりです。

生成されるソースコードは次のとおりです。

エラーは次のように述べています。

する必要があります:

ただし、このメソッドはコードを返す必要があるため、別のコンパイルエラーが発生します。

継承元の基本クラスであるSystem.Web.Mvc.ViewResultBaseを確認すると、実際には、ViewEngineResultの戻りタイプでFindView ()が宣言されています。

誰かがこのエラーを受け取りましたか?MVCバージョンと関係がありますか?MVC3を使用していますか?

どうもありがとう!セルギ

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

t4mvc - T4MVC 2.6.44 に T4MVC.settings.t4 ファイルがありません

T4MVC 2.6.44 の最新バージョンをhttp://mvccontrib.codeplex.com/releases/view/41582からダウンロードしました。ファイルを解凍すると、T4MVC.tt と T4MVC.cs が含まれています。そして、T4MVC.settings.t4 が表示されません。T4MVCVB バージョンに T4MVCVB.settings.t4 があることを再確認しました。ソリューションで T4MVC を使用しようとすると、T4MVC.settings.t4 が見つからないというエラーが表示されます。

この問題に関するヘルプをいただければ幸いです。

更新: T4MVC.settings.t4 ファイルを見つけました: http://code.google.com/p/funnelweb/source/browse/src/FunnelWeb.Web/T4MVC.settings.t4?r=b2af32275f6bc281ced2dfb533c20fff92edabc&spec=svnb2af322275f6bc281ced2dfb533ffedfc20

T4MVC ダウンロードの一部として含まれていないということですか?

ありがとう、エイブ