Visual studio 2010 MSBuild预清理自定义
我在VisualStudio2010工作。我已将项目输出定向到一个特定文件夹,该文件夹在构建时将包含所有DLL和EXE。但是,当我清理解决方案时,文件夹没有被清理,DLL仍然存在于其中Visual studio 2010 MSBuild预清理自定义,visual-studio-2010,msbuild,Visual Studio 2010,Msbuild,我在VisualStudio2010工作。我已将项目输出定向到一个特定文件夹,该文件夹在构建时将包含所有DLL和EXE。但是,当我清理解决方案时,文件夹没有被清理,DLL仍然存在于其中 有人能告诉我如何使用clean solution命令来清除我要清理的文件夹吗?我尝试使用MSBuild并处理BeforeClean和AfterClean目标,但未达到预期效果。您可以将名为BuildCustomAction.csproj的特殊目标添加到VS.sln文件中: <?xml version="1.
有人能告诉我如何使用clean solution命令来清除我要清理的文件夹吗?我尝试使用MSBuild并处理BeforeClean和AfterClean目标,但未达到预期效果。您可以将名为BuildCustomAction.csproj的特殊目标添加到VS.sln文件中:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
</PropertyGroup>
<ItemGroup>
<CleanOutCatalogFiles Include="..\..\bin\$(Configuration)\**\*.dll">
<Visible>false</Visible>
</CleanOutCatalogFiles>
<CleanOutCatalogFiles Include="..\..\bin\$(Configuration)\**\*.exe">
<Visible>false</Visible>
</CleanOutCatalogFiles>
</ItemGroup>
<Target Name="Build">
</Target>
<Target Name="Rebuild"
DependsOnTargets="Clean;Build">
</Target>
<Target Name="Clean"
Condition="'@(CleanOutCatalogFiles)'!=''">
<Message Text="Cleaning Output Dlls and EXEs" Importance="high" />
<Delete Files="@(CleanOutCatalogFiles)" />
</Target>
</Project>
调试
任意CPU
假的
假的
将其放置在您想要的任何位置,并为二进制文件指定输出目录的相对路径。加载项VS此项目作为现有项。这就是全部。有了它,您可以为VS中的三个常见操作执行自己的自定义操作:构建、重建、清理
使用CustomBeforeMicrosoftCommonTargets和CustomAfterMicrosoftCommonTargets自定义生成过程有更复杂的方法,但它要求在MSBuild中非常出色
希望这能有所帮助。塞尔吉奥的答案应该有效,但我认为覆盖前清洁/后清洁目标可能更干净。这些是microsoft提供的构建/清理过程的挂钩。当你进行清理时,VS会调用目标:BeforeClean;清洁的清理后,默认情况下,第一个和最后一个不执行任何操作 在现有的.csproj文件中,可以添加以下内容:
<Target Name="BeforeClean">
<!-- DO YOUR STUFF HERE -->
</Target>
+1用于此。只需确保在导入Microsoft.CSharp.targets文件后添加BeforeClean或AfterClean目标,否则它将重新定义BeforeBuild/AfterBuild自定义目标为默认空目标。重新混合回答: