原文地址:http://www.w3school.com.cn/aspnet/mvc_publish.asp数据库
学习如何在不使用 Visual Web Developer 的状况下发布 MVC 应用程序。服务器
经过在 WebMatrix、Visual Web Developer 或 Visual Studio 中使用发布命令,能够将 ASP.NET MVC 应用程序发布到远程服务器。mvc
该功能会复制全部应用程序文件、控制器、模型、图像以及全部必需的 DLL 文件,这些文件可能用于 MVC、Web Pages、Razor、Helpers、SQL Server Compact(若是使用了数据库)。ide
有时您不但愿使用这个选项。也许您的主机提供商只支持 FTP?也许您的网站基于经典 ASP?也许您但愿本身来复制文件?也许您使用的是其余发布软件?学习
您会遇到问题吗?是的,会的。可是咱们能解决它。测试
要执行网站复制,您必须了解如何引用正确的文件,复制哪些 DLL 文件,把它们存放到何处。网站
请按照这些步骤:xml
在继续以前,请确保您的主机运行最新版本的 ASP.NET (4.0)。ip
从开发机上把您的网站(全部文件夹和内容)复制到远程主机(服务器)上的应用程序文件夹。开发
若是 App_Data 文件夹中包含测试数据,请不要复制这个 App_Data 文件夹。
在远程服务器上的应用程序根目录中建立 bin 文件夹。(若是您已安装帮助器,则 bin 文件夹已经存在)
从您的文件夹中复制如下全部文件:
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies
到远程服务器上的 bin 文件夹。
若是您的应用程序使用了 SQL Server Compact 数据库(App_Data 文件夹中的 .sdf 文件),那么您必须复制 SQL Server Compact DLL 文件:
从您的文件夹复制如下全部文件:
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private
到远程服务器上的 bin 文件夹。
建立或编辑应用程序中的 Web.config 文件:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.data> <DbProviderFactories> <remove invariant="System.Data.SqlServerCe.4.0" /> <add invariant="System.Data.SqlServerCe.4.0" name="Microsoft SQL Server Compact 4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1,Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> </DbProviderFactories> </system.data> </configuration>
您的 App_Data 文件夹中有没有包含测试数据的 .sdf 文件?
您是否但愿将测试数据发布到远程服务器?
大多数时候是不但愿。
若是您不得不复制 SQL 数据文件(sdf 文件),那么您应该删除数据库中的全部数据,而后把这个空的 .sdf 文件从开发机复制到服务器。