ASP.NET MVC - 发布网站

学习如何在不使用 Visual Web Developer 的情况下发布 MVC 应用程序。

在不使用 Visual Web Developer 的情况下发布您的应用程序

通过在 WebMatrix、Visual Web Developer 或 Visual Studio 中使用发布命令,可以将 ASP.NET MVC 应用程序发布到远程服务器。

该功能会复制所有应用程序文件、控制器、模型、图像以及所有必需的 DLL 文件,这些文件可能用于 MVC、Web Pages、Razor、Helpers、SQL Server Compact(如果使用了数据库)。

有时您不希望使用这个选项。也许您的主机提供商只支持 FTP?也许您的网站基于经典 ASP?也许您希望自己来复制文件?也许您使用的是其他发布软件?

您会遇到问题吗?是的,会的。但是我们能解决它。

要执行网站复制,您必须了解如何引用正确的文件,复制哪些 DLL 文件,把它们存放到何处。

请按照这些步骤:

1. 使用最新版本的 ASP.NET

在继续之前,请确保您的主机运行最新版本的 ASP.NET (4.0)。

2. 复制 Web 文件夹

从开发机上把您的网站(所有文件夹和内容)复制到远程主机(服务器)上的应用程序文件夹。

如果 App_Data 文件夹中包含测试数据,请不要复制这个 App_Data 文件夹。

3. 复制 DLL 文件

在远程服务器上的应用程序根目录中创建 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 文件夹。

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 文件:

实例 C#

<?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 文件从开发机复制到服务器。

就是这样。祝您好运!