2012-12-03 539 views
0

我正在使用YUICompressor.Net缩小。 .proj文件从MSBuild执行并正常工作。MSBuild附加到Visual Studio项目构建

问题是如何将MSBuild操作附加到主项目的构建中? 我知道有一些“生成后”事件,芽如何指向他们执行我的额外的MSBuild。

在情况下,它相关的,这是我的MSBuild文件看起来像:

<?xml version="1.0" encoding="utf-8"?> 
<Project xmlns="http://schemas.microsoft.com/developer/MsBuild/2003"> 

<UsingTask TaskName="CssCompressorTask" AssemblyFile="..\bin\Yahoo.Yui.Compressor.Build.MsBuild.dll" /> 
<UsingTask TaskName="JavaScriptCompressorTask" AssemblyFile="..\bin\Yahoo.Yui.Compressor.Build.MsBuild.dll" /> 
<Target Name="Minify"> 
<ItemGroup> 
    <CssFile_Common Include="../Styles/common.css"/> 
    <CssFile_Plugins_All Include="../Styles/plugins.all.css"/> 
</ItemGroup> 
<CssCompressorTask 
     SourceFiles="@(CssFile_Common)" 
     DeleteSourceFiles="false" 
     OutputFile="../Styles/common.min.css" 
     CompressionType="Standard" 
     LoggingType="Info" 
     PreserveComments="false" 
     LineBreakPosition="-1" 
    /> 
    <CssCompressorTask 
     SourceFiles="@(CssFile_Plugins_All)" 
     DeleteSourceFiles="false" 
     OutputFile="../Styles/plugins.all.min.css" 
     CompressionType="Standard" 
     LoggingType="Info" 
     PreserveComments="false" 
     LineBreakPosition="-1" 
    /> 
</Target> 
</Project> 

回答

0

假设你的示例文件被命名为Minify.proj您只需将需要把这样的事情在你的主项目文件的底部:

<Import Project="Minify.proj" /> 

    <Target Name="BeforeBuild" DependsOnTargets="Minify"> 
    </Target> 
+0

感谢您的建议,我将上面提到的建议放在主要的.cproj文件中,Minify.proj文件位于相同的文件夹 - 以root身份。在构建过程中(F6),我只是构建成功,但没有任何反应。如果“BeforeBuild”完全被调用,是否有任何方法可以追踪?我从intellisence 标记中看到,但它不会将任何内容放入输出窗口。 –

相关问题