4

RazorGeneratorを使用してビューをプリコンパイルしています。Global Razorヘルパー(App_Codeディレクトリのcshtmlファイルで定義)も使用したいと思います。ただし、コンパイルは次のエラーでスローされます

「KarbonHelper」という名前は現在のコンテキストには存在しません

ただし、インテリセンスはヘルパーメソッドを検出しているようです。次のブログRazorPrecompilation に従って、Razorpre-compilationを組み込みました。

また、ヘルパーファイルKarbonHelper.cshtmlが、実際には予想される場所にある.csファイルにプリコンパイルされていることに気付きました。

obj\CodeGen\App_Code\KoolHelper.cshtml.cs

任意のアイデアや提案を歓迎します

4

2 に答える 2

1

最初に、これを Views フォルダーのファイルのセクションの下にある名前空間セクションの下に追加してみてください (プロジェクトの基本名前空間の名前に変更system.web.webPages.razorします。これは通常、プロジェクトの名前と同じです。または、名前空間が使用された生成されたファイルを確認してください)。Web.configMyProjectBaseNamespaceKoolHelper.cshtml.cs

    <add namespace="MyProjectBaseNamespace.App_Code" />

それでもエラーが発生する場合は、ヘルパーの最初の行に次のディレクティブを追加してみてくださいApp_Code

@* Generator: MvcHelper GeneratePrettyNames : true *@

次に、RazorGenerator は、System.Web.WebPages.HelperPage静的@helperメソッドとファイル名と同じクラス名で継承するクラスを生成します。

ディレクティブの詳細: https://github.com/RazorGenerator/RazorGenerator#special-razor-directives

于 2015-07-29T09:04:20.357 に答える