【发布时间】:2013-01-29 20:36:47
【问题描述】:
我在 Visual Studio 的一个 Web 项目中有一个预构建事件(2012 年,但 2010 年的行为相同)。
如果文件夹中有匹配的 filename.html,prebuild 会调用一个简单的 exe,它会查找每个 filename.aspx.vb 文件。
如果是这样,它只是将 filename.html 读取为字符串(转义和缩小)并将其作为字符串也注入到 Finename.aspx.vb 中,例如:
myStribBuilder.Append("这是来自外部文件的 html 代码的去向")
假设我对 filename.html 进行了修改,然后保存并编译和测试网站。它应该反映调用 filename.aspx 时的最新更改
这里会发生什么:
如果我有一个非常轻的项目,只有一两页,它确实有效。它可以按预期编译。
然后项目变得更大,它不再工作了。我的意思是代码被注入但没有按预期编译,如果我在网络服务器上刷新 filename.aspx 我仍然会有相同的版本但是如果我在 VS 上打开 filename.aspx.vb 代码就在那里。第二次编译 100% 正常。
我可以忍受,但在 html 文件更改后,我必须每次编译两次以进行测试。 这对我来说没有意义。
“预构建”的含义实际上是在执行预构建例程之前似乎在编译请求上缓存代码。
那么,如何确保在编译开始之前将代码注入到我的 *.vb 文件中?
【问题讨论】:
标签: asp.net visual-studio-2010 visual-studio visual-studio-2012