自定义项目文件以在msBuild中编译项目并压缩整个调试文件夹

时间:2013-11-22 13:24:29

标签: c# visual-studio-2012 msbuild

类库编译成调试文件夹及其依赖项。如何使用此方案自动执行此项目:

1.编译项目

2.删除一些其他文件,例如调试文件夹中的.pdb

3.修改root (可选)中的一些aspx文件(删除webforms中的MasterPage属性)

4.将整个调试文件夹分成带有其他扩展名的文件(例如:.foo),与普通文件不同。

1 个答案:

答案 0 :(得分:1)

我假设您在创建MSBuild任务时无需帮助以满足您的第一个标准。

要删除文件和zip,请尝试以下操作:

<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<Target Name="SomeTarget">

<ItemGroup>
    <FilesToDelete Include="Path\To\Debug\*.pdb"/>
    <DebugApplicationFiles Include="Path\To\Debug\*.*"/>
</ItemGroup>

<Delete Files="@(FilesToDelete)" />

<Zip Files="@(DebugApplicationFiles)"
  WorkingDirectory="Path\To\Debug"
  ZipFileName="Where\To\Store\Zip\Foo.zip"
  ZipLevel="9" />
</Target>

显然,你可以在<PropertyGroup>元素中定义的变量中存储任何这些值(“Where \ To \ Store \ Zip”和“Path \ To \ Debug”),但为了简洁,我省略了这些值。 / p>

您必须通过修改aspx页面提供更多有关您的意思的详细信息,但这通常可以通过MSBuild进行。

zip任务可以通过msbuildtasks项目获得,该项目可以通过nuget:Install-Package MSBuildTasks安装。