我有需要部署到 windows server 2008 的 mvc3.0 (.net 4.0) 应用程序。
有人可以帮我解决下面的问题吗?
如果我引用了所有 MVC dll(将 Copy Local 设置为 true,是否需要在服务器上安装 MVC 3.0?)
如果我在 Web 服务器上安装了 MVC 2.0,IIS 是否会在上面的第 1 步场景中选择 MVC2.0 dll 或 MVC 3?
IIS 何时查看 DLL 与 BIN 文件夹?
多谢了。
我有需要部署到 windows server 2008 的 mvc3.0 (.net 4.0) 应用程序。
有人可以帮我解决下面的问题吗?
如果我引用了所有 MVC dll(将 Copy Local 设置为 true,是否需要在服务器上安装 MVC 3.0?)
如果我在 Web 服务器上安装了 MVC 2.0,IIS 是否会在上面的第 1 步场景中选择 MVC2.0 dll 或 MVC 3?
IIS 何时查看 DLL 与 BIN 文件夹?
多谢了。
1.)如果我引用了所有 MVC dll(将 Copy Local 设置为 true,我是否需要在服务器上安装 MVC 3.0?)
不,你可以bin deploy
申请。
2.) 如果我在 Web 服务器上安装了 MVC 2.0,IIS 是否在上面的第 1 步场景中选择 MVC2.0 dll 或 MVC 3?
假设您已正确放置assembly binding redirects
在 web.config 中,它将选择 MVC 3:
<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 文件夹?
当应用程序启动时,或第一次需要时(假设某些程序集可以在运行时动态加载)。
如果我引用了所有 MVC dll(将 Copy Local 设置为 true,是否需要在服务器上安装 MVC 3.0?)
不必要。您无需在服务器中安装 MVC 即可运行 MVC 应用程序。Visual Studio 中有一种叫做可部署依赖的东西。当您发布它时,它将在您的 bin 文件夹中发布您的 MVC DLL
从msdn页面,
这会将程序集(DLL 文件)添加到网站项目或 Web 应用程序项目中。当您部署您的网站或应用程序时,这些文件将包含在已部署的项目中。如果您的项目所依赖的应用程序或技术尚未安装在将托管您的 Web 项目的服务器上,这将非常有用。例如,您可以使用此功能将 ASP.NET MVC 3 Web 应用程序部署到未安装 ASP.NET MVC 3 的服务器。
签出这个答案,我已经逐步说明如何做到这一点。
查看这篇文章了解更多详情http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx
你应该有Visual Studio 2010 SP1。否则,当您右键单击要发布的项目时,它不会显示在上下文菜单中。
Already asked, see - ASP.NET MVC deployment in a form of distribution package
it'll get exact version, which you used to build application
Local assembly has priority over GAC (global assembly cache)