代码之家  ›  专栏  ›  技术社区  ›  Kurt Schelfthout

MSBuild:转换到命名空间的路径

  •  2
  • Kurt Schelfthout  · 技术社区  · 14 年前

    <ItemGroup>
        <ToCompile Include="clojure\core.clj;clojure\set.clj;clojure\zip.clj;clojure\test\junit.clj;"/>
    </ItemGroup>
    

    我想把它转换成这样一个项目列表:

    clojure.core clojure.set clojure.zip clojure.test.junit
    

    如果没有,那么可以使用任何其他避免使用自定义任务的解决方案。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Jay Bazuzi Buck Hodges    14 年前

    这有点俗气,但它在MSBuild 4.0+中工作。

    <Target Name="Namespaces">
      <PropertyGroup>
        <Cheesy>@(ToCompile -> '%(relativedir)%(filename)', ' ')</Cheesy>
      </PropertyGroup>
      <Message Text="$(Cheesy.Replace(`\`, `.`))" />
    </Target>
    
        2
  •  3
  •   murrmax    14 年前

    我们可以用更少的奶酪轻松做到这一点:

    <消息