我在MVC(WebApi)网站上写了一个静态方法。静态方法有一个bug,所以我改变了静态方法中的逻辑。该方法现在可以在我的本地计算机上运行并返回正确的数据。
但是,Azure仍在运行旧方法并返回不正确的结果。我唯一能做的就是在本地编译库并将其FTP到Azure。
为什么保留旧的静态方法 - 即使在构建和部署之后?
注意:我正在从Visual Studio Online / TFS进行手动构建/部署(我不是从Visual Studio部署)。我确实在MSBUILD上设置了Rebuild和Clean标志。
更新:在查看文件大小之后,显然Azure正在部署旧版本的DLL,因为部署的DLL比我在本地编译的DLL大得多。
答案 0 :(得分:0)
在您发布到您的网站之前,您可以在预览中看到文件列表中包含的新dll吗?您对dll的发布选项有哪些?
我假设您使用的是Azure网站?这是对的吗?
答案 1 :(得分:0)
我只是部署到另一个网站实例,测试使用默认域工作,如果它看起来很好重定向DNS并删除旧网站。
答案 2 :(得分:0)
Arggghhh !!!
经过2天的故障排除后,我终于明白了。
同样,本地DLL的大小与Azure的DLL不同。所以我开始认为它们可能是Visual Studio Online中文件的问题。
因此,我打开了另一个虚拟机并连接到VSO以查看源资源管理器。果然,VSO中的文件是旧版本。显然,Visual Studio在本地将文件标记为最新,因此不会检查任何新的更改。
修复:
它最终再次正确部署。