c# - Azure Web 部署发布旧版本的 MVC 站点 .dll

标签 c# asp.net-mvc azure dll

我通过 VS 2013 中的 Web 发布将我的 MVC 站点部署到 Azure 位置。我已经从同一台机器和 IP 地址发布了很多次,没有出现任何问题,但昨天它停止工作了。

发布将我的项目 .dll 的旧版本放置在网站上的 bin 文件夹中。这个版本不再存在于我的机器上,它不是项目当前的 Git 状态(并且从来都不是当前的 Git 状态),也不是我的 Release、Debug 或 Demo 编译文件夹中的版本。我不知道它从哪里来。

因此,当我发布时,我会收到与数据库更改相关的错误,因为自旧版本以来,我的上下文背后的模型已发生更改。

所以目前,当我发布时,我必须通过 FTP 进入我的网站,并将 WebPortal.dll 文件替换为我机器 bin 文件夹中的文件,并且该网站可以正常工作。

什么可能导致它恢复到这个旧的 .dll?它来自哪里?我是否以某种方式从发布中排除了超过某个点的更改?

注意 - 我的 View 发布得非常好,它只是 .dll 应该包含模型、 Controller 等的当前编译,但包含了缺少大量内容的旧版本。

JK

最佳答案

服务器上可能存在旧版本的 dll,在发布过程中未被覆盖。您是否尝试过在“发布”对话框的设置部分中选中“删除目标位置的其他文件”。这应该会从您的目标位置删除除您发布的文件之外的所有文件。

如果此后您仍然遇到问题,请尝试发布到本地文件系统,以便您可以准确查看发布发送到服务器的内容。

enter image description here

更新:

将 Web 应用程序发布到文件系统的步骤。

  1. 在解决方案资源管理器菜单中右键单击您的项目,然后选择“发布”。
  2. 在“发布 Web”菜单的配置文件部分中,选择“自定义发布类型”,然后点击“下一步”。
  3. 在“发布方法”下拉列表中选择文件系统。您应该会看到目标位置文本框,您可以在其中指定文件夹。
  4. 使用常用设置继续执行其余的发布步骤,然后点击“发布”。

关于c# - Azure Web 部署发布旧版本的 MVC 站点 .dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31165912/

相关文章:

c# - 如何使用 System.Linq.Dynamic.Core 将复杂的查询字符串转换为 lambda 表达式

c# - 删除变音符号,某些字母上的某些变音符号除外

asp.net-mvc - 如何为每个请求始终设置默认路由

asp.net-mvc - ASP.NET MVC Authorize 属性在 IE 和 FireFox 中的行为不同

azure - FTP 到 Azure Blob 存储

azure - 无法为变量设置值,它始终在逻辑应用程序中采用初始值

sql-server - 我们可以看到 Azure SQL 数据库内部用于存储 MDF/LDF 和备份文件的存储帐户吗?

c# - 既然可以继承普通类,为什么还需要抽象类?

c# - 为什么使用 Identity Server 和 asp.net core 2 在基于 token 的身份验证上使用 cookie

css - 在 ASP.NET MVC 的 View 中显示格式化的 JSON