每次我进行构建时,我都希望这个预构建事件发生:
del $(ProjectDir)\obj\Debug\Package\PackageTmp\web.config
如果目录在那里,这可以正常工作。但是如果目录不存在那么它将导致构建失败。我尝试做这样的事情来检查目录是否存在:
if Exists('$(ProjectDir)\obj\Debug\Package\PackageTmp\')
del $(ProjectDir)\obj\Debug\Package\PackageTmp\web.config
但我相信我的语法错误,因为我得到一个255的退出代码。什么是让它工作的正确方法?
谢谢!
答案 0 :(得分:6)
显然这有效:
if EXIST "$(ProjectDir)\obj\Debug\Package\PackageTmp\web.config" (
del "$(ProjectDir)\obj\Debug\Package\PackageTmp\web.config"
)
上面的代码是我尝试这样做的第一种方式之一。但它一直都失败了。经过多次尝试后,我最终重新启动Visual Studio 2015并再次输入该代码,然后开始工作。
答案 1 :(得分:2)
我会使用目标来完成此任务。具体来说,我建议覆盖BeforeBuild
目标。有几种不同的方法可以做到这一点,但最简单的方法是修改.vcxproj
文件恕我直言。
在项目文件的底部(您可以通过右键单击Visual Studio中的项目来编辑它 - >卸载项目,然后再次右键单击并选择编辑该项目)您应该看到{{1行。在该行之后添加一个目标,如下所示:
<Import ...
有关覆盖之前和之后目标的详细信息,请参阅How to: Extend the Visual Studio Build Process。