問題タブ [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 投票する
1 に答える
234 参照

asp.net-mvc - T4 にカスタム メソッドの変換をスキップさせるにはどうすればよいですか?

T4 にカスタム メソッドの変換をスキップさせる属性またはその他の方法はありますか?

サポートされている ActionResult タイプを返さないため、T4MVC.tt が MyController.Method をサポートしていないという警告が表示される場所は?

例えば:

このメソッドを持つ BaseController:

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

asp.net-mvc - ASP.NETMVC式は「現状のまま」レンダリングされます

私は次の行を持っています:

にレンダリングされます

したがって、式は実行されません。引用符を削除した場合:

式は実行されますが、マークアップはxhtmlと互換性がなくなります。この問題を解決する正しい方法は何ですか?

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

asp.net-mvc - T4MVCと名前付きパラメーター

T4MVCと名前付きパラメーターでエラーが発生しています。私はコントローラーを持っています:

T4MVCはオーバーロードList()も作成しているようです。その結果、

foo.DoSomething()を正しく実行します。しかし、呼び出す

foo.DoSomething()を実行しません-T4MVCは空のList()オーバーロードを作成しました。

プロジェクトからT4MVCを削除しましたが、すべて正常に動作しています。しかし、私は本当にそれを使用できるようにしたいと思います-私はどこかに設定が欠けていますか?

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

asp.net-mvc - RouteValueDictionaryをT4MVCActionLinkに追加するにはどうすればよいですか

通常はクエリ文字列に入力すると予想される任意のルート値を含める拡張メソッドはないようです。

古いコード:

これに変更したいのですが、HTML属性としてカテゴリを取ります。

確かにこれはすでに説明されているので、私が自分の拡張メソッドを書く前にこれをチェックすることはまだ可能ではありませんか?

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

visual-studio-2010 - T4MVC は、既に生成したコードを失っているようです

SVN を更新するたびに T4MVC が生成したコードを失うという問題があります。. generated.cs ファイルを削除してテンプレートを再実行することで修正できます。しかし、これは少し面倒です。足りないものはありますか?


最初に少し背景情報を...

C# v4、VS2010、および ASP.NET MVC2 を使用しています。ソース管理に Subversion を使用しています。また、VS2010 内で多数のアドインと拡張機能を実行しています ...

  • Huagati DBML.EDMX ツール
  • Zippy.Chirp (T4MVC テンプレートの自動実行用)
  • リシャーパー v5
  • ビジュアルSVN
  • 割り当てを調整する
  • ASP.NET OpenID Web サイト
  • ブレース コンプリーター (無効)
  • Code4ブログ
  • devColor
  • 選択した単語の出現箇所をすべて強調表示 (無効)
  • HTML スペル チェッカー (無効)
  • Lipsum 2010 - Lorem Ipsum ジェネレーター
  • Visual Studio 2010 の PowerCommand
  • 仕事効率化電動工具
  • スペルチェッカー (無効)
  • Visual Studio バックグラウンド カスタマイザー
  • Visual Studio カラー テーマ エディター
  • VS10x コードマーカー
  • World of VS Default Browser Switcher

私は実際にこの質問を作業コピーの更新として書いており、各段階でできることをキャプチャしています...

ステップ1

その日の作業を開始するために IDE を開きましたが、作業コピーを更新する前に、既に 4 つのコンパイラ警告が表示されています...

ステップ2

ソリューション エクスプローラーでルート ノードを右クリックし、コンテキスト メニューの Visual SVN 部分から [更新] を選択して、作業コピーを更新しています。

ほとんどの . generated.cs ファイルでツリーの競合があります...

  • HomeController.generated.cs (ツリーの競合)
  • T4MVC.cs (ツリーの競合)
  • T4MVC.ExplicitExtensions.cs (削除、追加)
  • GoodsInController.generated.cs (ツリーの競合)
  • SharedController.generated.cs (削除、追加)
  • StockListController.generated.cs (ツリーの競合)
  • StockCheckController.generated.cs (ツリーの競合)
  • AuthController.generated.cs (ツリーの競合)
  • GoodsOutController.generated.cs (ツリーの競合)

ステップ 3

私は今、私の対立を解決しています。私は常にローカルファイルを保持し、解決済みとしてマークしているため、ここに問題があると思われます。最初の競合 (HomeController.generated.cs) に対してこれを実行しました。次に、ローカル コピーと比較してみましたが、次のエラー メッセージが表示されました...

リビジョン 14638 で 'C:/Data Files/Projects/Web/ByBox.Vanventory/ByBox.Vanventory/HomeController.generated.cs' のリポジトリの場所が見つからない


うわあ - ちょっと待って!

ツリーの競合の理由は、生成されたファイルが実際に削除され、プロジェクトに再度追加されていることに気付いたときです。現在、T4MVC 自体がこれを行っているのか、それとも Chirpy 拡張機能を行っているのかはわかりません。Chirpy のソース コードを調べました (コードプレックスの Web ブラウザーでブラウジングするだけです) が、そうではないようです。

Subversion でのツリーの競合の原因は、 2 人のユーザーが両方ともコントローラーに変更を加えているためだと思います。これにより、 2 人とも同じファイル名で新しいファイルが生成されます。したがって、Subversion には 2 つの新しいファイルがあり、どうすればよいかわからないため、ツリーの競合としてフラグを立てます。

同じく T4MVC を使用している同僚に、問題がないことを確認しましたが、コントローラー コードを変更しているのは彼らだけです。私のプロジェクトに 2 人が参加する前は、問題はありませんでした。この問題は、2 番目の人がプロジェクトに取り組み始め、コントローラー コードに変更を加えてから発生しました。


では、ここで露骨に明らかな何かが欠けているのでしょうか、それとも T4MVC や Chirpy を悪用しているのでしょうか?

今のところ、私は少しハックな解決策を持っています。すべての controller.cs ファイルに「触れる」ための powershell スクリプトを作成しました。それをVS2010の外部ツールに入れました。問題が発生したら、その powershell スクリプトを実行してから、T4MVC テンプレートを強制的に実行するソフトウェアをビルドすると、すべてのエラーが解消されます。これは理想的ではなく、「ただうまくいく」ことを望みます。


編集

明確にするために、私が達成したい状況は、朝にビジュアルスタジオを開き、(VisualSVN を介して) SVN の更新を行い、生成されたコードにコードが含まれていないためにビルドに時間を費やす必要がないことです。昨日そこにあったファイル。

では、テンプレート/T4MVC はビジュアル スタジオでどのように機能するのでしょうか?

(生成されたファイルを削除し、実行するたびに再作成する場合は、使用を停止する必要があります。これは、Subversion を使用したり、生成されたコードであるコードで複数の人が作業したりするのには適していないためです。に追加)

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

asp.net-mvc - MVC2でのフォームのリファクタリング

フォームを扱う多くのビューにこのコードを何度も貼り付けています。MVC2のビューから次のマークアップをリファクタリングする簡単な方法はありますか?唯一の変更部分はキャンセルリンクのルートです(LocalizedSaveButtonとLocalizedCancelLinkは私が作成したヘルパーメソッドです)。それをPartialViewに抽出しようとしましたが、BeginForm機能が失われました。助言がありますか?

0 投票する
0 に答える
771 参照

asp.net-mvc - T4MVC: 先頭の .. を使用してトップ ディレクトリの上で終了することはできません

codeplex (v2.6.13) で MVCContrib プロジェクトの T4MVC プロジェクトを使用しようとしています。Visual Studio 2010 で .NET 4 に対して実行される ASP.NET MVC 2 RTM を使用しています。

新しい MVC 2 Web アプリケーションを作成するときに取得する既定のプロジェクト テンプレートを使用して、マスター ページのホーム ActionLink を次のように変更しました。

プロジェクトを参照しようとするたびに、「先頭の..を使用してトップディレクトリの上で終了することはできません」というHttpExceptionが発生するようになりました(VS2010ではF5)。

その ActionLink を削除すると、すべて正常に動作します。

スタックトレース

[HttpException (0x80004005): 先頭の .. を使用してトップ ディレクトリの上で終了することはできません。] System.Web.Util.UrlPath.ReduceVirtualPath(String path) +8774912 System.Web.Util.UrlPath.Reduce(String path) +52 System.Web.Util.UrlPath.Combine(String appPath, String basepath, String relative) +217 System.Web.UI.Control.ResolveClientUrl(String relativeUrl) +258 System.Web.UI.HtmlControls.HtmlLink.RenderAttributes(HtmlTextWriter writer) ) +74 System.Web.UI.HtmlControls.HtmlLink.Render(HtmlTextWriter ライター) +42 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter ライター、ControlAdapter アダプター) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter ライター) , ControlAdapter アダプター) +100 System.Web.UI.Control.RenderControl(HtmlTextWriter ライター) +25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter ライター、ICollection の子) +208 System.Web.UI.HtmlControls.HtmlHead.RenderChildren(HtmlTextWriter ライター) +21 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter ライター) +31 System.Web.UI. Control.RenderControlInternal(HtmlTextWriter ライター、ControlAdapter アダプター) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter ライター、ControlAdapter アダプター) +100 System.Web.UI.Control.RenderControl(HtmlTextWriter ライター) +25 ASP.views_shared_site_master.__Render__control1 (HtmlTextWriter __w、コントロール parameterContainer) c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\82809071\51b73fea\App_Web_uers1hdy.1.cs:0 の System.Web.UI.Control. RenderChildrenInternal(HtmlTextWriter ライター、ICollection の子) +109 System.Web.UI.Control.RenderChildren(HtmlTextWriter ライター) +8 System.Web.UI.Control.Render(HtmlTextWriter ライター) +10 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter ライター、ControlAdapter アダプター) +27 System.Web.UI.Control.RenderControl( HtmlTextWriter ライター、ControlAdapter アダプター) +100 System.Web.UI.Control.RenderControl(HtmlTextWriter ライター) +25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter ライター、ICollection 子) +208 System.Web.UI.Control.RenderChildren (HtmlTextWriter ライター) +8 System.Web.UI.Page.Render(HtmlTextWriter ライター) +29 System.Web.Mvc.ViewPage.Render(HtmlTextWriter ライター) +56 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter ライター、ControlAdapterアダプター) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter ライター、ControlAdapter アダプター) +100 System.Web.UI.Control.RenderControl(HtmlTextWriter ライター) +25 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3060

私はこれについてしばらく頭を悩ませてきましたが、ドキュメントや関連するブログで解決策を示している可能性のあるものを見つけることができないようです.

誰かが私が間違っている場所を知っていますか?

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

c# - T4MVCはコントローラーの空のコンストラクターを生成します

T4MVCがコントローラーのデフォルトコンストラクターを生成するのはなぜですか?ちょっと興味があるんだけど。

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

.net - VS2010でのMVC2に関するT4MVCの問題:「メソッドグループ」から「System.Web.Mvc.ActionResult」に変換できません

T4MVCテンプレートをプロジェクトに追加し、ビルドして、それが導入するクールな新機能を使用しようとしました。

更新してみましたRedirectToAction("NotFound", "Error");

RedirectToAction(MVC.Error.NotFound);

ビルド時に次のエラーが発生します。

また、私の見解では、私がこのようなことをしようとすると:<%= Url.Action(MVC.Home.Index) %>

次のようなメッセージが表示されます。

引数タイプ'メソッドグループ'はパラメータタイプ'System.Web.Mvc.ActionResult'に割り当てることができません

これのトラブルシューティングをどこから始めればよいのかよくわかりません。

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

asp.net-mvc-2 - MonoDevelop 2.4 の T4MVC

MonoDevelop で T4MVC を機能させようとした人はいますか?

デフォルトでは、次のエラーが表示されます: インクルード ファイル 'T4MVC.settings.t4' を解決できませんでした。

インクルード ステートメントにフル パスを含めると、MonoDevelop が完全にクラッシュします。

情報をありがとう!

マーク・ラクルシエール