我在使用VS 2010构建的ASP.Net项目上工作。我们使用Build菜单中的“Publish”选项将应用程序发布到本地服务器上的文件夹中。
这适用于我们的一个服务器 - 文件正确复制,一切正常(我们不会在发布之前删除服务器上的文件,因为有额外的文件不是来自VS)。但是,在我们的其他服务器上,发布似乎不起作用。 DLL不会被替换,这意味着我们必须从解决方案中手动复制/obj/Debug/Package/PackageTmp
目录的内容(这是VS在将所有文件复制之前将其发布到的位置)。
服务器和本地计算机上的时间都相同 - 两者都同步到本地网络上的同一个NTP服务器,所以这不是问题。
我们可以做些什么来强制VS覆盖目标目录中的所有文件(实际上没有删除文件)?
答案 0 :(得分:2)
我经常遇到这个问题并得出结论,VS的发布命令只是被打破了。有时它有效,有时不行。我甚至提出了一些MS Connect问题。
问题可以追溯到至少VS 2005,可能在此之前。
通常它归结为远程服务器在它的时间稍微提前。但是,看起来你已经调查过了。我们还看到,即使两台机器的时间相同,它也无法发布已更改的.aspx页面...
要解决此问题,我们会发布一个空的临时目录,然后发出命令将xcopy文件复制到真正的目标位置。一旦xcopy完成,我们清除临时目录。