2011-01-16 8 views
7

Mvc3 RTMの先物を取得しようとしています。 webPIからmvc3をインストールした後に.dllは含まれていません。MVC3 RTM先物 - Microsoft.Web.Mvcをインストールする

ソースをダウンロードして自分で作成しようとしましたが、ソリューションにドロップして、ビューフォルダのweb.configに名前空間を追加すると、すべてのページで次のエラーが表示されます。

S0012: The type 'System.Web.Mvc.Controller' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null'. 

私はそれが強い名前やそれらの行に沿った何かのためだと思います。

どのようにして先物取引を開始できますか?

編集:

1)私が間違っているかもしれませんが、メモリから、あなたがダウンロードしたとMVCの以前のバージョンをインストールしたとき、それはプログラムファイル/マイクロソフトASP下の.dllあなたにMicrosoft.Web.Mvcを与えるだろう。 NET/ASP。NET MVC2。 WebPIをインストールすると、その場所にはSystem.Web.Mvc.dllのみが存在します。

2)それは、このアセンブリのための場所(私も念のため確認)

3)動作していないプロジェクトがターゲットプロジェクトではありません... GACに間違いはありません。私は新しい 'Asp .net Mvc 3 Application'を作って、それが動作していることを確認しました。次に、私はMvc 3ソースコードから構築したアセンブリへの参照を追加し、 'Views'フォルダの下のweb.configを変更しました。

<system.web.webPages.razor> 
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    <add namespace="Microsoft.Web.Mvc" /> 
    </namespaces> 
</pages> 

4)とすぐに私は名前空間の要素とDLLを削除するよう、プロジェクトが再び動作します。

+0

はあなたがVSまたはVWDのいずれかでMVC3プロジェクトテンプレートを使用しています?どのプロジェクトがエラー、対象プロジェクトまたは先物プロジェクトを取得していますか? MVC3のインストールにdllが含まれていないと言うと、使用しているVSのバージョンに合わせてツールをサポートしていますか?再インストールが必要な場合があります。 – kim3er

答えて

10

source code of MVCContribをダウンロードしてbin/AspNetMvcフォルダ内にダウンロードすると、Microsoft.Web.MvcアセンブリがASP.NET MVC 3.0に対してコンパイルされています。

+1

それはトリック、ありがとう! –

+0

聖なる牛、私はこれを得るための唯一の方法だと信じられません...ありがとうSOたくさん – CubanX

+0

それは、Microsoft.Web.Mvc.dllをそこにダウンロードしました – Ash

-1

あなたはweb.configファイル内のアセンブリと同様に、名前空間を含める必要が - あなたはMVC2プロジェクトを開始した場合、あなたはおそらく当然の3.0に変更する必要があります

のようなそこにラインを持っていますまた、バインディングリダイレクトを更新する必要がある場合もあります。

dllが含まれていないと言ったら、gacをチェックしましたか?そこにある場合は、強い名前に基づいてシステムを見つけるためにローカルにファイルを必要としません。

ソースからビルドしたバージョンの名前が異なる場合は、正式なビルドを参照するサードパーティのコンポーネントに問題があるかもしれませんが、Web設定の名前が一致する限り、コアのもの。トークンがNULLではないように独自のキーを追加したいと思うでしょう。

0

MvcFuturesプロジェクトをビルドするときは、System.Web.MvcとSystem.Web.WebPagesの参照をGACのものに置き換える必要があります。そうしないと、Mvcソースコードに対してターゲットプロジェクトを構築する必要があります。ダウンロード。

どちらのオプションもうまくいくはずです。

関連する問題