Mas*_*ase 4 c# asp.net msbuild web-deployment-project visual-studio-2005
我运行一个ASP.NET网站解决方案,其中包含一些其他项目.我已经知道MSBuild项目能够做到这一点,但这是最好的方法吗?它们易于创建吗?nAnt,CruiseControl.NET或任何其他解决方案更好吗?
当我构建站点(使用Web部署项目)时,我是否可以自动部分构建,以便它不会将某些文件夹从项目复制到Release文件夹中?例如,我有文件夹,包含本地搜索索引,图像和文件夹的其他内容部分,但在部署项目时我从不需要或上传它们.
我也期待这种类型的解决方案自动增加构建和版本号.
以下是在.wdproj文件中编写此类任务脚本的Web部署项目的示例:
<Target Name="AfterBuild">
<!-- ============================ Script Compression============================ -->
<MakeDir Directories="$(OutputPath)\compressed" />
<Exec Command="java -jar c:\yuicompressor-2.2.5\build\yuicompressor-2.2.5.jar --charset UTF-8 styles.css -o compressed/styles.css" WorkingDirectory="$(OutputPath)" />
<Exec Command="move /Y .\compressed\* .\" WorkingDirectory="$(OutputPath)" />
<RemoveDir Directories="$(OutputPath)\sql" />
<Exec Command="c:\7zip-4.4.2\7za.exe a $(ZipName).zip $(OutputPath)\*" />
</Target>
Run Code Online (Sandbox Code Playgroud)
这将允许您删除文件夹.
(我怀疑,如果你想没有对文件夹的副本在所有的解决方案文件是指定的地方,虽然我还没有使用的.)