2010-03-06 42 views
5

现在,我只是简单地将所有内容(包括我的所有源代码)都截取了,但我认为有一个最佳实践方式来获得正确的dll和正确的aspx要部署的文件。什么是FTP部署一个asp.net mvc站点的最佳方式

+0

我倾向于发布Visual Studio中的项目,然后上传...而不是上传所有的源代码,并等待服务器来构建,但仍然有一个不再使用的内容...上传了一个简单的页面App_Offline.htm首先会允许你做一个直立而不给用户错误。 – davethecoder

回答

4

尽管还有一些其他工具,但我觉得最好的方法是开发人员理解运行该应用程序所需的文件并适当地上传它们。根据您组织应用程序的方式,您会惊讶于上传MVC应用程序的简单性。这是我做的,我希望它有帮助:

  1. 我在我的web应用程序的根目录中创建一个名为“assets”的文件夹。在该文件夹中,您可以找到“css”,“js”,“图像”和“类型”的子文件夹。我这样做是为了组织和上传时,我不必找到几个文件夹(内容,脚本,Css等),我只是上传“资产”。
  2. 我确定我的辅助类库在构建时将其.dll复制到我的Web应用程序的bin文件夹中。这样,所有必需的.dll都在Web应用程序的bin文件夹中。

然后我上传下列文件和文件夹:

  • 资产
  • 查看
  • Default.aspx的
  • 的Global.asax
  • 的web.config(生产版本)

很简单,不是很可怕。这是一个有点简化,因为我几乎总是有其他文件夹和我使用的文件(sitemap.xml的,robot.txt的,为favicon.ico,App_Data文件(有时),等等,等等),但上面是需要的最低限度。适用于中小型网站。

+0

那么意见呢?你使用嵌入式视图引擎吗?否则,也需要部署它们,对吗? – mnemosyn

+1

视图位于上面列出的“视图”文件夹中。由于您的Views文件夹中通常没有.cs文件,因此您可以将整个文件夹ftp覆盖。只要确保您的视图文件夹内的web.config文件与它一起使用即可。 –

+0

D'oh。没关系。没有足够的咖啡/睡眠不足! – mnemosyn

2

您可以使用msbuild /p:OutputDir=Build\构建到不同的构建文件夹中,这将消除无关文件,然后构建FTP文件夹。

我很想看看有没有人有更好的答案。好问题。

+0

我发现Visual Studio中的Publish函数非常慢,正在寻找其他人在做什么。这听起来像是最好的主意,但我需要尝试一下。 – invalidusername

相关问题