【问题标题】:How should I deploy Asp.Net project in Visual Studio 2015?我应该如何在 Visual Studio 2015 中部署 Asp.Net 项目?
【发布时间】:2016-01-24 04:15:28
【问题描述】:

我一直在我的 Asp.Net 项目中使用 Visual Studio 的快速版本。过去,我会使用基本的 FTP 同步器将更新的文件 (*.vb) 推送到我们的服务器,然后更改会立即显示在网站上。现在,由于某种原因,当我对 *.vb 文件进行更改时,在我通过 ftp 同步后,它们不会反映在服务器上,除非我先构建项目。此外,对于我们的 .Net 4.0 项目,VS 2015 14.0.23107 正在添加以下目录,其中包含大量内容:

/.vs

/我的项目

/对象

这些目录中有大量文件,我不知道它们的作用,并且由于某种原因,我们的项目采取了完全不同的行为。现在,当我们尝试通过 FTP 进行同步时,文件多了很多,而且更改实际的底层源似乎不起作用。我们必须同步以上目录中的所有其他文件,然后我们才能看到更改。

这是他们做事的新方式,还是因为 VS 现在是免费的,我们正在获得一个更好的版本,我们必须“发布”而不是“同步”?

有没有办法回到简单的做事方式,我们只有一个包含源文件的普通目录并将它们同步到服务器?我们不应该这样做吗?如果不是,我们应该使用什么方法以及我们应该将哪些文件推送到服务器?

【问题讨论】:

  • 为什么不想使用 Visual Studio 的发布功能?它工作得很好。老实说,我不明白你为什么要上传 .vb 文件。重要的是编译后的 dll 和资源,所以基本上所有你需要复制的东西,你都会在构建后得到。如果你想在服务器上重新构建它,那么复制所有源文件,Obj 你可以忽略。不知道你从哪里得到 MyProject 文件夹,虽然 :) 无论如何,只要你使用 asp 4.0 没有任何变化
  • 过去 10 年我一直在使用免费版本,但没有发布功能...
  • 是时候改变你的习惯了,使用发布,如果只有大量文件是你以前方法的问题..那么好吧,不要同步它们老实说,通过 ftp 同步源文件......这很糟糕.如果必须,我会将服务器插入源代码管理
  • @Dude2TheN 仅仅因为你已经做了 10 年的事情并不意味着它曾经是一个好主意。向所有人公开您的代码是一种很好的被黑客入侵的方法并且会因为编译而导致延迟。这就是 ASP.NET 将代码编译为 dll 的原因

标签: asp.net vb.net visual-studio visual-studio-2015


【解决方案1】:

当然,请使用“发布”选项(在解决方案资源管理器中右键单击您的 Web 应用程序,在运行/构建选项下),这样您就可以使用在发布时创建的文件更新您的服务器站点。正如 Mikus 所提到的,您不需要发布网站上的 vb 文件,您只需要 dll 和资源(图像、js、css、resx 等)。

问候,希望对您有所帮助。

【讨论】:

    【解决方案2】:

    我只是将我的评论推广为答案。这个问题有几个方面:

    1. 使用发布,这个功能已经在 Visual Studio 中长期可用并且运行良好。有很多方法可以自定义它,它支持很多技术,包括 FTP。它也比手动将文件复制到 FTP 更方便、系统和可靠的部署方式。您还可以在开发人员之间共享您的发布配置并存储其中的几个。这里没有损失。

    2. 我不太明白您为什么要将源 (.vb) 文件复制到服务器。您通常想要实现的是将编译后的 DLL + 资源复制到您的服务器,并将源文件在开发人员机器上“安全”。如果您真的需要,您可以在服务器上编译源代码,然后只需将其插入源代码控制,使用 ms build 等。无论如何,构建/发布操作可以为您准备部署文件,手动复制是非常糟糕的.

    3. 对于新文件夹:

    总结一下,只要你用asp 4,4.5就没什么变化了。只有 5.0 引入了一些不同的部署规则。使用正确的工具(发布)可以轻松解决您遇到的大多数问题。它将知道要发送哪些文件(项目中包含的二进制文件 + 资源)和忽略哪些文件(源文件、缓存、废话)。它方便、不易出错,并且可以为您做更多事情。

    【讨论】:

      【解决方案3】:

      使用 Visual Studio 提供的 Publish 选项。

      这将编译您的项目,然后您可以以您依赖的方式托管它。

      我个人托管在 IIS 上,考虑到我没有本地存储数据,我可以直接发布到 IIS 服务器上的已发布路径。

      发布工具非常简单,只需几分钟。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-02
        • 2015-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-29
        • 2015-05-27
        相关资源
        最近更新 更多