asp.net mvc publish不会覆盖cshtml文件

时间:2012-02-29 21:01:54

标签: asp.net-mvc razor

我一直在定期发布我的网站,没有太多麻烦。但今天我注意到它不会用新版本覆盖现有的.cshtml剃刀文件。我发布,查看文件夹,看看文件仍然过时。如果我删除该文件然后发布,它将把新版本放在那里。但是如果文件已经存在,它将不会覆盖它,我的生产网站已经过时了。我尝试了“发布前删除文件”选项,但它给了我一个访问错误,它无法删除文件夹。我尝试删除整个文件夹,但后来我丢失了.svn文件夹,它无法识别版本控制。

有没有办法强制Publish命令用最新版本覆盖我的.cshtml文件? (注意:dll文件被覆盖得很好)

2 个答案:

答案 0 :(得分:5)

您是否已将复制到输出目录设置为始终复制?

我也使用Build Action = Content。

答案 1 :(得分:2)

似乎在文件上设置了只读属性,因此无法覆盖它们。检查VS Output窗口是否有错误迹象。

建议:尽量不要在源代码管理中包含生成的文件(这也意味着包含已发布文件的文件夹)。 VCS工具通常会锁定他们使用的文件。

在Test / Prod服务器上安装.svn文件也不是一个好主意。