2017-03-28 6 views
0

はオーチャードのテーマのHTML拡張メソッドを見つけることができません。私は次の例外を取得していますコンパイラは、私はオーチャードのテーマに取り組んでいると、次のHTML拡張メソッドを作成した

@using Themes.MyTheme 

// More razor syntax 

@if (!Html.IsCurrent("New", "Customer")) { 
    Html.ActionLink(T("New Customer").ToString(), "New", new { Controller = "Customer", Area = "My.Area" }, new { }) 
} 

CS0246: The type or namespace name 'Themes' could not be found (are you missing a using directive or an assembly reference?) 

This answer(とその他)であることを私を導きました私が行ったViewsフォルダのweb.configに名前空間を追加しなければならなかったのです。しかし、私はまだこのエラーが発生します。

拡張メソッドは、Razorビューと同じアセンブリで定義されています(標準OrchardソリューションのThemesプロジェクト; codegenを使用してテーマを作成し、そこにテーマを追加しました)。

Razor/Orchard /コンパイラにこの名前空間を認識させるにはどうすればよいですか?

+0

それは私の作品Html.ActionLinkラインの端からセミコロンのほかに:コード生成とのテーマを作成するときにフラグがあります。 新しいテーマを作成し、クラスを追加してビューに使用しました。 あなたは、使用の最後からセミコロンを見逃しているかもしれません。複数のを使用している場合は必要です。 (私はWeb.Configへの参照を追加する必要はありませんでした) – humanoidcreature

+0

実際には見逃しやすいので、プロジェクトにファイルを追加しましたか? –

+0

セミコロンを追加しましたが、それは役に立ちませんでした。ファイルはプロジェクトの一部です(ただし、これらの問題はしばしばこれらの小さなエラーです)。面白いことに、VS2015は、私が使用しているときにはじかれた線は表示されませんが、私がそれを取り除くとします。だから、エディタにとっては、すべてうまくいきます。私はこの問題を抱えているのは実行時のみです。私は今、Razor関数を使って修正しましたが、もっと調べてみるつもりです。オーチャードの私の特定のインストールで魚のようなものかもしれません。 – Peter

答えて

1

テーマの下にあるフォルダだけでなく、独自のプロジェクトとしてテーマを作成する必要があります。独自の.csprojファイルを持たないテーマは、私が恐れているコードを持っていません。

/CreateProject:true 
+0

ええ、私はそれがこのようなものになると考えました。私のテーマは現在Themesプロジェクトの下にあります。私はそれを移行する必要があります。 – Peter

+0

まだweb.configを追加しなければなりませんでしたが、これは本当にトリックです。 – Peter

関連する問題