我正在使用 MSBuild.exe v4.00。我的项目文件中有一个构建目标,它将名为Parameters.MyEnvironment.xml 的文件复制到Parameters.xml。“MyEnvironment”可能因调用 MSBuild.exe 的时间/位置而异。
这将运行,然后 MSDeployPublish 目标中的其他进程使用 Parameters.xml。
最后,我删除了 Parameters.xml 文件,因为它只是我的环境特定文件之一的副本。
如上所述运行时,MSDeployPublish 目标的行为就像 Parameters.xml 不存在但不报告错误一样。
但是,如果我删除删除任务,以便在我的项目构建完成后保留 Parameters.xml,MSDeployPublish 会看到它并正确使用它。奇怪的是,对 Parameters.MyEnvironment.xml 的任何更改都会立即反映在下一个构建过程中。
总而言之 - 将文件(以前不存在)复制到我的项目文件夹中,后续目标使用该文件夹不起作用。但是,如果我将原始文件留在那里并用新版本的源文件覆盖它,它会反映新内容!
这位作者已经确定了 MSBuild 的锁定/打开文件问题,我在这里发生了同样的事情吗? http://dotnet.dzone.com/articles/using-custom-webconfig-0