我在 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 文件中注入代码?