是否可以在不安装的情况下使用MSBuild Extension Pack?

Bob*_*Bob 16 .net msbuild

有没有办法使用MSBuild扩展包与"本地"引用,不需要您运行安装程序?换句话说,您可以将目标存储在解决方案项目文件夹中,以便每个开发人员都不必安装它吗?

Say*_*imi 20

您必须在任务的导入语句之前声明属性ExtensionTasksPath.例如,看看:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ExtensionTasksPath Condition="'$(ExtensionTasksPath)' == ''">E:\Data\Development\My Code\Community\MSBuild\ExtensionPack\</ExtensionTasksPath>
  </PropertyGroup>

  <Import Project="$(ExtensionTasksPath)MSBuild.ExtensionPack.tasks"/>

  <Target Name="Demo">
    <MSBuild.ExtensionPack.FileSystem.File TaskAction="GetTempFileName">
      <Output TaskParameter="Path" PropertyName="TempPath"/>
    </MSBuild.ExtensionPack.FileSystem.File>

    <Message Text="TempPath: $(TempPath)" />
  </Target>

</Project>
Run Code Online (Sandbox Code Playgroud)

MSBuild社区任务类似,但该属性名为 MSBuildCommunityTasksLib.我认为对于SDC任务,它称为TasksPath.