C# 自定义项目文件以编译项目并压缩msBuild中的整个调试文件夹
类库及其依赖项编译到调试文件夹中。如何使用此方案自动执行此项目: 1.编制项目 2.删除调试文件夹中的一些附加文件,如.pdb 3.在root中修改某些aspx文件(可选)(删除webforms中的母版页C# 自定义项目文件以编译项目并压缩msBuild中的整个调试文件夹,c#,visual-studio-2012,msbuild,C#,Visual Studio 2012,Msbuild,类库及其依赖项编译到调试文件夹中。如何使用此方案自动执行此项目: 1.编制项目 2.删除调试文件夹中的一些附加文件,如.pdb 3.在root中修改某些aspx文件(可选)(删除webforms中的母版页属性) 4.将整个调试文件夹压缩到一个文件中,该文件除了通常的文件外还有其他扩展名(例如:.foo)。我假定您不需要帮助来创建MSBuild任务以满足第一个条件 要删除文件和压缩,请尝试以下操作: <Import Project="$(MSBuildExtensionsPath)\MSBu
属性)
4.将整个调试文件夹压缩到一个文件中,该文件除了通常的文件外还有其他扩展名(例如:.foo)。我假定您不需要帮助来创建MSBuild
任务以满足第一个条件
要删除文件和压缩,请尝试以下操作:
<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>
显然,您可以将这些值(“Where\To\store\Zip”和“Path\To\Debug”)存储在
元素中定义的变量中,但为了简洁起见,我省略了这些值
您必须详细说明修改aspx页面的含义,但这通常可以通过MSBuild实现
zip任务可通过可通过nuget安装的项目获得:安装包MSBuildTasks
错误1未找到“zip”任务。检查以下内容:1.)项目文件中任务的名称与任务类的名称相同。2.)任务类是“公共”的,并实现Microsoft.Build.Framework.ITask接口。3.)该任务在项目文件中或位于“C:\Windows\Microsoft.NET\Framework\v4.0.30319”目录中的*.tasks文件中正确声明为。我将您的代码段插入到
中,我是从NuGet安装的,但编译时出现错误,MSBuildCommunity
的路径不存在尝试替换$(MSBuildExtensionsPath)
包含安装MSBuildTasks的完整路径请确保正确设置了DebugApplicationFiles
属性,并且此zip操作运行时该文件夹位置不为空。如果在Debug
下的子目录中有文件,请使用path\to\Debug\***.
我可以看到正在压缩这些文件o一个单独的文件。但是wh@cking您的pdb文件?请阅读以下内容:“所有开发人员都需要知道的最重要的事情:pdb文件与源代码一样重要!”