库/静态方法未在Azure中更新



我在MVC(WebApi)网站上写了一个静态方法。静态方法中有一个错误,所以我更改了静态方法中的逻辑。该方法现在在我的本地机器上工作,并返回正确的数据。

然而,Azure仍然在运行旧方法,并返回不正确的结果。我唯一能做的就是在本地编译库,并将其FTP到Azure。

为什么旧的静态方法被保留——甚至在构建和部署之后?

注意:我正在从Visual Studio Online/TFS进行手动构建/部署(我不是从Visual Studio进行部署)。我确实在MSBUILD上设置了Rebuild和Clean标志。

更新:在查看了文件大小后,显然Azure正在部署较旧版本的DLL,因为部署的DLL比我在本地编译的DLL大得多。

在发布到您的网站之前,您可以在预览中看到的文件列表中包括新的dll吗?dll的发布选项是什么?

我想你正在使用Azure网站?这是正确的吗?

我只需要部署到另一个网站实例,测试为使用默认域工作,如果一切正常,则重定向DNS并删除旧网站。

Arggghhh!!!

经过两天的故障排除,我终于想通了。

同样,本地DLL在大小上与Azure的DLL不同。因此,我开始认为它们可能与Visual Studio Online中的文件有关。

因此,我打开了另一个VM并连接到VSO来查看源资源管理器。果不其然,VSO中的文件是旧版本。显然,Visual Studio在本地将该文件标记为最新文件,因此不会对其进行任何新更改。

要修复:

  1. 在Visual Studio中以独占方式签出文件
  2. 然后,尝试签入
  3. 应该然后,最后(!!),得到一个合并错误
  4. 将本地文件与存储库中的文件合并
  5. 将文件签回VSO

它终于再次正确部署了。

最新更新