dhl: asp.Netmvcの上位バージョンへの移植方法(ゴマ開門プロジェクトの移植に成功)
4918 ワード
私は機械にmvcの正式版をインストールしましたが、元のプロジェクトはmvc preview 5が開発したもので、プロジェクトが1.0に移植された後、以下のように現れました.
説明:このリクエストにサービスを提供するために必要なリソースをコンパイル中にエラーが発生しました.次の特定のエラーの詳細を確認し、ソースコードを適切に変更してください.コンパイラエラーメッセージ:CS 0411:使用法からメソッド「Microsoft.Web.Mvc.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression,string)」のタイプパラメータを推論できません.タイプパラメータを明示的に指定してみてください.ソースエラー:
ソースファイル:f:PublishOpenDoorViewsAdminManagePrizeShow.aspx
行:4
原理分析:ASP.NET webアプリケーションが実行されている間に、最初に参照したdllファイルがGAC(windows/assemblyフォルダ)に存在するかどうか(C:WINDOWSassemblyGAC_MSILSystem.Web.Mvc1.0.0.0__31bf 3856 ad 364 e 35)、プログラムファイルのbinフォルダをチェックします.したがって、私のアプリケーションが参照するdllファイルは、指定されたフォルダの場所(GACまたはbin以外)であるにもかかわらず、実行時にGACの下のsystemが呼び出されるため、エラーが発生します.web.mvc.dllファイル.この方法は使いやすいが、asp.Netmvcバージョンはいつもアップグレードされているので、アップグレードしないわけにはいきません.
asp.Netmvcのアップバージョンへの移植の一般的な方法---
1)第1歩:vsを閉じ、元のmvcバージョンのmvc previewをアンインストールする5 2)第2歩:mvcの正式版をダウンロードする3)第3歩:ucenterを修正する.webのwebconfigファイル構成、mvcプログラムセットリファレンスを更新します.
4)第4歩:web.configでページを追加するネーミングスペースSystemを構成する.Web.Mvc.Html(サーバによっては環境が異なり、追加しなくてもよい.)
もしまだ新聞を出したら:System.Web.Mvc.HtmlHelperにはActionLinkの定義は含まれておらず、最適な拡張方法が再ロードされています.
このように解決する:エラーが発生している.csファイルに:using System.Web.Mvc.Html;
1.0より前にHtmlHelperはmvcの下で、1.0は変更します.mvc.html下システムも追加されましたWeb.Mvc.Ajax;
2009-11-19更新補足:
コンパイルエラー
説明:このリクエストにサービスを提供するために必要なリソースをコンパイル中にエラーが発生しました.次の特定のエラーの詳細を確認し、ソースコードを適切に変更してください.コンパイラエラーメッセージ:CS 0411:使用法からメソッド「Microsoft.Web.Mvc.LinkExtensions.ActionLink
2: <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 3: 4: <div><font color="blue">【<%=Html.ActionLink(" ", "ManagePrizeShow")%>】【<%=Html.ActionLink(" ", "ManagePrizeShow", new { ptype=10 })%>】【<%=Html.ActionLink(" ", "ManagePrizeShowCard")%>】</font></div> 5: <div style="color:red"><%=TempData["message"] %></div> 6: <table>
ソースファイル:f:PublishOpenDoorViewsAdminManagePrizeShow.aspx
行:4
原理分析:ASP.NET webアプリケーションが実行されている間に、最初に参照したdllファイルがGAC(windows/assemblyフォルダ)に存在するかどうか(C:WINDOWSassemblyGAC_MSILSystem.Web.Mvc1.0.0.0__31bf 3856 ad 364 e 35)、プログラムファイルのbinフォルダをチェックします.したがって、私のアプリケーションが参照するdllファイルは、指定されたフォルダの場所(GACまたはbin以外)であるにもかかわらず、実行時にGACの下のsystemが呼び出されるため、エラーが発生します.web.mvc.dllファイル.この方法は使いやすいが、asp.Netmvcバージョンはいつもアップグレードされているので、アップグレードしないわけにはいきません.
asp.Netmvcのアップバージョンへの移植の一般的な方法---
1)第1歩:vsを閉じ、元のmvcバージョンのmvc previewをアンインストールする5 2)第2歩:mvcの正式版をダウンロードする3)第3歩:ucenterを修正する.webのwebconfigファイル構成、mvcプログラムセットリファレンスを更新します.
もしまだ新聞を出したら:System.Web.Mvc.HtmlHelperにはActionLinkの定義は含まれておらず、最適な拡張方法が再ロードされています.
このように解決する:エラーが発生している.csファイルに:using System.Web.Mvc.Html;
1.0より前にHtmlHelperはmvcの下で、1.0は変更します.mvc.html下システムも追加されましたWeb.Mvc.Ajax;
2009-11-19更新補足:
p5 :Html.RenderAction("PrizeList", "OpenDoor"); //
mvc1.0 RenderAction() , RenderPartial() 。
, :Html.RenderPartial("_PrizeList"); 。( :http://eduncan911.com/blog/type-safety-with-asp-net-mvc-futures.aspx) , ,Controller , MOdel
RenderAction() , Microsoft.Web.Mvc.dll :<%@ Import Namespace="Microsoft.Web.Mvc"%>
dll 。 Microsoft.Web.Mvc。dll 。
;http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471
:Asp.Net MVCのRenderPartialとRenderAction
: 25 “System.Web.Mvc.UrlHelper” “ViewContext” , “System.Web.Mvc.UrlHelper” “ViewContext”( using ?) F:\OpenTheDoor\OpenTheDoor\MlgUrlHelper.cs 35 128 OpenTheDoor.web
: ViewPage Url 。