Rub*_*ink 5 msbuild conventions convention-over-configur itemgroup
我正在尝试根据目录中的以下约定搜索一组程序集:
{SubDirName}\{SubDirName}.dll
Run Code Online (Sandbox Code Playgroud)
我首先创建了一个 MSBuild ItemGroup [通过在 .RecursiveDir 部分批处理另一个 ItemGroup]。
<AllAssemblies Include="$(SourceDirectory)\**\Test.*.dll" />
<Dirs Include="@(AllAssemblies->'%(RecursiveDir)')"/>
Run Code Online (Sandbox Code Playgroud)
每个项目都有一个斜杠,即:
<Message Text="@(Dirs)"/>
Run Code Online (Sandbox Code Playgroud)
说:
SubDir1\;SubDir2\;SubDir3\
Run Code Online (Sandbox Code Playgroud)
现在,我想从这个列表中生成一组文件名。
问题在于:
<AssembliesByConvention Include="@(Dirs -> '%(Identity)\%(Identity).dll')" />
Run Code Online (Sandbox Code Playgroud)
产生:
SubDir1\\SubDir1\.dll;SubDir2\\SubDir2\.dll;SubDir3\\SubDir3\.dll
Run Code Online (Sandbox Code Playgroud)
我不想在.dll.
实现这一目标的最干净的方法是什么?
我知道有一个 HasTrailingSlash 表达式运算符,但是在 OOTB Tasks? 中没有 RemoveTrailingSlash 任务的迹象。我对所需的 MSBuild 版本并不挑剔。
| 归档时间: |
|
| 查看次数: |
1856 次 |
| 最近记录: |