我已经创建了一个.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内执行?
这很奇怪。 MSBuild.ExtensionPack.VisualStudio.TfsVersion在Visual Studio中工作得很好。 TfsVersion和FindUnder有什么区别? –