我一直在定期发布我的网站,没有太多麻烦。但今天我注意到它不会用新版本覆盖现有的.cshtml剃刀文件。我发布,查看文件夹,看看文件仍然过时。如果我删除该文件然后发布,它将把新版本放在那里。但是如果文件已经存在,它将不会覆盖它,我的生产网站已经过时了。我尝试了“发布前删除文件”选项,但它给了我一个访问错误,它无法删除文件夹。我尝试删除整个文件夹,但后来我丢失了.svn文件夹,它无法识别版本控制。
有没有办法强制Publish命令用最新版本覆盖我的.cshtml文件? (注意:dll文件被覆盖得很好)
答案 0 :(得分:5)
您是否已将复制到输出目录设置为始终复制?
我也使用Build Action = Content。
答案 1 :(得分:2)
似乎在文件上设置了只读属性,因此无法覆盖它们。检查VS Output窗口是否有错误迹象。
建议:尽量不要在源代码管理中包含生成的文件(这也意味着包含已发布文件的文件夹)。 VCS工具通常会锁定他们使用的文件。
在Test / Prod服务器上安装.svn文件也不是一个好主意。