在 Web 的其他地方,您可以找到有关使用类似这样的东西从命令行模拟 VS 2005-2008 IDE 中的发布功能的建议(我希望我没有弄错语法!):
msbuild /t:ResolveReferences;_CopyWebApplication /p:BuildingProject=true;OutDir=C:\inetpub\wwwroot\ blah.csproj
现在,看起来.dll 的副本很好。但是,应用程序需要将某些配置文件和模板文件复制到 bin 文件夹中。例如,一个 NHibernate 配置文件在 blah.csproj 中显示为:
<None Include="blah.cfg.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
虽然在 IDE 中使用 Publish 会按应有的方式复制此文件,但上述 _CopyWebApplication 目标不会。我需要将此文件复制到构建脚本中。这是 _CopyWebApplication 所需的行为吗?有关如何解决此问题的任何建议?
编辑 2010 年 4 月 21 日:
让我澄清一下,我们(目前)仅限于 VS 2005 和 VS 2008 项目,并且我们的构建脚本是为 MSBuild 3.x 编写的。我们还没有准备好迁移到 VS 2010。
让我也说明一下,我们正在寻找可从命令行中获得的解决方案,以便我们可以自动化类似发布的命令以及自定义构建选项,并可能在未来实现自动化部署。