2013-09-26 70 views
0

我已经创建了一个.target文件来导入到.csproj文件中。该目标文件导入MSBuild.ExtensionPack.tasks。从命令行运行时,ExtensionPack任务得到良好执行,但如果从Visual Studio中运行构建,目标仍然运行,但会跳过扩展任务。在Visual Studio中执行MSBuild ExtensionPack任务

这里是目标文件:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
     ToolsVersion="4.0"> 
    <PropertyGroup> 
     <TPath>$(MSBuildProjectDirectory)\..\Contrib\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks</TPath> 
    </PropertyGroup> 
    <Import Project="$(TPath)"/> 


    <Target Name="FindWSFiles"> 
    <MSBuild.ExtensionPack.FileSystem.FindUnder TaskAction="FindFilesAndDirectories" Path="$(MSBuildProjectDirectory)" SearchPattern="*WS*"> 
     <Output ItemName="AllFoundItems" TaskParameter="FoundItems"/> 
    </MSBuild.ExtensionPack.FileSystem.FindUnder> 
    <Message Text="$(MSBuildProjectDirectory)" Importance="high"/> 
    <Message Text="===== Found Files and Directories =====" Importance="high"/> 
    <Message Text="AllFoundItems:%0d%[email protected](AllFoundItems,'%0d%0a')"/> 
    </Target> 

    <Target Name="GenerateWSBin" BeforeTargets="CoreCompile" DependsOnTargets="FindWSFiles"> 
    <Message Text="GenerateWSBin" Importance="high" /> 
    </Target> 

    <Target Name="GenerateWSHooks" BeforeTargets="CoreCompile" DependsOnTargets="FindWSFiles"> 
    <Message Text="GenerateWSHooks" Importance="high"/> 
    </Target> 

</Project> 

我怎样才能获得MSBuild.ExtensionPack任务到Visual Studio内执行?

+0

这很奇怪。 MSBuild.ExtensionPack.VisualStudio.TfsVersion在Visual Studio中工作得很好。 TfsVersion和FindUnder有什么区别? –

回答

0

啊,这是我的一个愚蠢的错误。我忘了在<Message Text="AllFoundItems:%0d%[email protected](AllFoundItems,'%0d%0a')" />中包含Importance="high"这导致了视觉工作室内部的输出被抑制。

+0

接受答案,以便它完成问题:) – RinoTom

+0

我必须等到明天回答我自己的问题。 –

相关问题