0

私の会社には、厳格な「ソフトウェアのインストールは許可されていません」というポリシーがあります。現在、インストール時に付属しているVS2010とMVC2を使用しています。MVC 3にアップグレードしたいのですが、ポリシーにより、標準のMVC 3ツールインストーラーを使用することも、パッケージのダウンロードやインストールに使用することもできません。

では、プロジェクトをMVC 3に手動で追加/アップグレードして、最新かつ最高のものを利用する方法はありますか?dllファイルを取得してGACに登録するのと同じくらい簡単ですか?

4

1 に答える 1

0

これはあなたができる最善のことだと私は信じています。

私が信じる完全に、100%手動の方法はありません。それでも物事を動かす必要があり、制限の問題があるように思われますが、ここにソースがあります:

既存のASP.NETMVC2アプリケーションをバージョン3に手動でアップグレードするには、次の手順を実行します。

コンピューター上に新しい空のASP.NETMVC3プロジェクトを作成します。このプロジェクトには、アップグレードに必要ないくつかのファイルが含まれます。次のファイルをASP.NETMVC3プロジェクトからASP.NETMVC2プロジェクトの対応する場所にコピーします。新しいファイル名(jQuery-1.5.1.js)を考慮して、jQueryライブラリへの参照を更新する必要があります。

/Views/Web.config
/packages.config
/scripts/*.js
/Content/themes/*.*

空のASP.NETMVC3プロジェクトソリューションのルートにあるpackagesフォルダーを、ソリューションの.slnファイルが配置されているディレクトリにあるソリューションのルートにコピーします。ASP.NET MVC 2プロジェクトに領域が含まれている場合は、/ Views/Web.configファイルを各領域のViewsフォルダーにコピーします。ASP.NET MVC 2プロジェクトの両方のWeb.configファイルで、ASP.NETMVCバージョンをグローバルに検索して置き換えます。次を検索します。System.Web.Mvc、Version=2.0.0.0次のように置き換えます。

System.Web.Mvc、Version = 3.0.0.0ソリューションエクスプローラーで、System.Web.Mvc(バージョン2のDLLを指す)への参照を削除してから、System.Web.Mvc(v3.0.0)への参照を追加します。 0)。System.Web.WebPages.dllおよびSystem.Web.Helpers.dllへの参照を追加します。これらのアセンブリは、次のフォルダーにあります。%ProgramFiles%\ Microsoft ASP.NET \ ASP.NET MVC 3 \ Assembly%ProgramFiles%\ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assembly In Solution Explorer、右-プロジェクト名をクリックして、[プロジェクトのアンロード]を選択します。次に、プロジェクト名をもう一度右クリックして、[ProjectName.csprojの編集]を選択します。ProjectTypeGuids要素を見つけて、{F85E285D-A4E0-4152-9332-AB1D724D3325}を{E53F8FEA-EAE0-44A6-8774-FFD645390401}に置き換えます。変更を保存し、プロジェクトを右クリックして、[プロジェクトの再読み込み]を選択します。アプリケーションのルートWeb.configファイルで、

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, 
     PublicKeyToken=31BF3856AD364E35" />

<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral,
     PublicKeyToken=31BF3856AD364E35" />

プロジェクトがASP.NETMVC2を使用してコンパイルされたサードパーティライブラリを参照している場合は、次の強調表示されたbindingRedirect要素をアプリケーションルートの構成セクションの下にあるWeb.configファイルに追加します。

<runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
     <dependentAssembly>
       <assemblyIdentity name="System.Web.Mvc"
           publicKeyToken="31bf3856ad364e35"/>
       <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0"/>
     </dependentAssembly>
   </assemblyBinding>
</runtime>
于 2012-08-28T00:09:33.310 に答える