ASP.NET MVC 发布网站
本站我们将学习如何在不使用 Visual Studio 的情况下发布 MVC 应用程序
在不使用 Visual Studio 的情况下发布 Web 应用程序
通过使用 Visual Studio 中的发布命令,可以发布一个 ASP.NET MVC 应用程序到远程服务器上
此功能会复制所有的应用程序文件、控制器、模型、图像以及用于 MVC、Web Pages、Razor、Helpers、SQL Server Compact(如果使用数据库)所有必需的 DLL 文件
但有时我们不希望使用这些选项
- 或许是因为主机提供商仅支持 FTP ?
- 或许因为网站基于经典 ASP ?
- 或许我们希望亲自拷贝这些文件 ?
- 又或许我们希望使用 Front Page、Expression Web 等其他一些发布软件 ?
总之,总有那么一刻,我们不能用到自动发布的命令
我们会遇到问题吗?是的,会的。但是我们有办法解决它
要执行网站复制,我们必须知道如何引用正确的文件,哪些 DLL 文件需要复制,并在何处存储它们
现在,我们就一步一步的将我们的 Web 应用程序发布到生产服务器
1. 使用最新版本的 ASP.NET
在我们继续操作之前,请确保主机运行的是最新版的 ASP.NET ( 4.0 或者 4.6+ )
2. 复制 Web 文件夹
从我们的开发计算机上复制网站(所有文件夹和内容)到远程主机(服务器)上的应用程序文件夹中
如果 App_Data 文件夹中包含测试数据,请不要复制这个 App_Data 文件夹
3. 复制 DLL 文件
在远程服务器上的应用程序根目录中创建 bin 文件夹,如果已经安装 Helpers,则 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
4. 复制 SQL Server Compact DLL 文件
如果应用程序使用了 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>
5. 复制 SQL Server Compact 数据
你的 App_Data 文件夹中有没有包含测试数据的 .sdf 文件?
你是否希望发布你的测试数据到远程服务器上?
大多数时候一般是不希望
如果你一定要复制 SQL 数据文件(.sdf 文件),那么你应该删除数据库中的所有数据,然后从你的开发计算机上复制一个空的 .sdf 文件到服务器上
就这样,好了