的原始内容app_offline.htm
确实存储在一个神秘的位置(可能是在其中一个二进制文件中硬编码),但是 Visual Studio 确实在上传之前将内容写入物理文件。
如果您至少发布过一次,则在命令提示符下进行简单搜索dir C:\app_offline.htm /s/a/b
应该会找到写入临时文件的位置。它应该是类似的东西C:\Users\username\AppData\Roaming\Microsoft\VisualStudio\16.0_5fc0d832\app_offline.htm
。我不确定最后的十六进制字符串是否对于每个安装或用户都相同。
将该文件设置为只读确实可以防止 Visual Studio 覆盖其内容,并且对该文件的修改实际上将在发布期间上传。但是,它会导致内部错误,最终可能会阻止它随着时间的推移上传。
是在构建后事件之前编写的app_offline.htm
,因此只需要在 Visual Studio 开始上传之前覆盖它。
更有弹性的方法是执行以下操作:
app_offline.htm
1)在您的项目中创建一个自定义。(不在项目的根文件夹中,它会阻止您使用 F5 开始调试。)
2) 使用构建后事件将自定义app_offline.htm
从项目文件夹复制到 Visual Studio 的暂存文件夹。
构建后事件命令行:
copy /y "$(ProjectDir)Resources\app_offline.htm"
"C:\Users\%username%\AppData\Roaming\Microsoft\VisualStudio\16.0_5fc0d832\app_offline.htm"