【问题标题】:Avoiding local dependencies for MSBuild Community Tasks within Visual Studio 2010避免 Visual Studio 2010 中 MSBuild 社区任务的本地依赖
【发布时间】:2011-04-10 20:31:35
【问题描述】:

我正在尝试开始利用MSBuild Community Tasks,所以在安装.msi 包后,我以这种方式在<Project> 元素中导入了MSBuild.Community.targets

<Import Project="lib\MSBuild.Community.Tasks.targets" />

有趣的是,我注意到这样的文件在 MSBuildExtensionsPath 中引用了本地安装路径,并且考虑到代替保持代码依赖项尽可能干净,我愿意支付分发/版本控制它们的开销项目,我想知道是否可以在.cproj 文件中使用与项目相关的位置覆盖默认/安装位置?

实际的布局是这样的:

Dotnet.Samples.Foobar
\src
     Foobar.cs
\lib
     MSBuild.Community.Tasks.targets
     MSBuild.Community.Tasks.dll

任何指导将不胜感激。非常感谢您提出的任何建议。

【问题讨论】:

    标签: visual-studio-2010 msbuild msbuildcommunitytasks


    【解决方案1】:

    MSBuild.Community.Tasks.targets 中指定了 dll 的路径。

    <PropertyGroup>
      <MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
      <MSBuildCommunityTasksLib>$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll</MSBuildCommunityTasksLib>
    </PropertyGroup>
    

    您可以覆盖项目中的路径。

    <PropertyGroup>
       <MSBuildCommunityTasksPath>lib</MSBuildCommunityTasksPath>      
    </PropertyGroup>
    

    并保持导入相同:

    <Import Project="lib\MSBuild.Community.Tasks.targets" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-13
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2011-12-28
      • 2011-11-24
      相关资源
      最近更新 更多