0

Windows Server 2008に展開する必要のあるmvc3.0(.net 4.0)アプリケーションがあります。

誰かが以下の私の質問を手伝ってくれませんか?

  1. すべてのMVCdllを参照した場合(ローカルコピーをtrueに設定した場合)、サーバーにMVC 3.0をインストールする必要がありますか?

  2. MVC 2.0をWebサーバーにインストールした場合、IISは上記の手順1のシナリオでMVC2.0dllまたはMVC3を選択しますか?

  3. IISはいつDLLとBINフォルダを比較しますか?

ヒープに感謝します。

4

3 に答える 3

3

1.)すべてのMVC dllを参照した場合(ローカルコピーをtrueに設定した場合)、サーバーにMVC 3.0をインストールする必要がありますか?

いいえ、アプリケーションを使用できbin deployます。

2.)MVC 2.0をWebサーバーにインストールした場合、IISは上記の手順1のシナリオでMVC2.0dllまたはMVC3を選択しますか?

web.configに適切assembly binding redirectsに配置されていると仮定すると、MVC3が選択されます。

<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>

3.)IISはいつDLLとBINフォルダーを比較しますか?

アプリケーションの起動時、または最初に必要なとき(一部のアセンブリが実行時に動的にロードされる可能性があると想定)。

于 2012-08-28T12:19:28.137 に答える
1

すべてのMVCdllを参照した場合(ローカルコピーをtrueに設定した場合)、サーバーにMVC 3.0をインストールする必要がありますか?

必要はありません。サーバーにMVCをインストールせずにMVCアプリケーションを実行できます。VisualStudioにはデプロイ可能な依存関係と呼ばれるものがあります。これにより、MVCDLLが公開時にbinフォルダーに公開されます

msdnページから、

これにより、アセンブリ(DLLファイル)がWebサイトプロジェクトまたはWebアプリケーションプロジェクトに追加されます。Webサイトまたはアプリケーションを展開すると、ファイルは展開されたプロジェクトに含まれます。これは、プロジェクトが依存するアプリケーションまたはテクノロジが、Webプロジェクトをホストするサーバーにまだインストールされていない場合に役立ちます。たとえば、この機能を使用して、ASP.NETMVC3がインストールされていないサーバーにASP.NETMVC3Webアプリケーションを展開できます。

私がこれを行う方法を段階的に説明したこの回答をチェックしてください。

詳細については、この投稿を確認してくださいhttp://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

Visual Studio2010SP1が必要です。そうしないと、公開するプロジェクトを右クリックしたときにコンテキストメニューに表示されません。

于 2012-08-28T12:19:38.787 に答える
0
  1. すでに質問されています。 「配布パッケージの形式でのASP.NETMVCの展開」を参照してください。

  2. アプリケーションのビルドに使用した正確なバージョンを取得します

  3. ローカルアセンブリはGAC(グローバルアセンブリキャッシュ)よりも優先されます

于 2012-08-28T12:27:43.820 に答える