 
      
    C#
- 65 ответов
- 0 вопросов
    39
    Вклад в тег
    
      
      
    
  
  
 
  
   
  
  Google Tag Manager is a tag management system created by Google to manage JavaScript and HTML tags used for tracking and analytics on websites (variants of e-marketing tags, sometimes referred to as tracking pixels or web beacons).
 
  
   
  
  <Target Name="Repack" AfterTargets="BuiltProjectOutputGroup">
		<GetFrameworkPath>
			<Output TaskParameter="Path" PropertyName="FrameworkPath" />
		</GetFrameworkPath>
		<ItemGroup>
			<NetPlatformFolders Include="$(NuGetPackageFolders.Split(';'))"></NetPlatformFolders>
		</ItemGroup>
		<ItemGroup>
			<AllowDup Include="System.%2A" />
			<AllowDup Include="JetBrains.%2A" />
		</ItemGroup>
		<ItemGroup>
			<RapackTarget Include="$(TargetDir)MyDll1.dll" />
			<RapackTarget Include="$(TargetDir)MuDll2.dll" />
		</ItemGroup>
		<PropertyGroup>
			<ILRepack Condition="'$(ILRepack)' == ''">$(NuGetPackageRoot)ilrepack\2.1.0-beta1\tools\ILRepack.exe</ILRepack>
			<ILRepackTargetPlatform Condition="'$(TargetFramework)' == 'net45'">v4,$(FrameworkPath)</ILRepackTargetPlatform>
			<ILRepackTargetPlatform Condition="'$(TargetFramework)' == 'netstandard1.3' or '$(TargetFramework)' == 'netcoreapp2.0' or '$(TargetFramework)' == 'netstandard2.0'">v4</ILRepackTargetPlatform>
			<IlRepackLibs Condition="'$(TargetFramework)' == 'netstandard2.0'">@(NetPlatformFolders->'"/lib:%(FullPath)\netstandard.library\2.0.0\build\netstandard2.0\ref"', ' ')</IlRepackLibs>
			<IlRepackLibs Condition="'$(TargetFramework)' == 'netcoreapp2.0'">@(NetPlatformFolders->'"/lib:%(FullPath)\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0"', ' ')</IlRepackLibs>
			<IlRepackAllowDup>@(AllowDup->'"/allowdup:%(Identity)"', ' ')</IlRepackAllowDup>
			<IlRepackTargets>@(RapackTarget->'"%(Identity)"', ' ')</IlRepackTargets>
		</PropertyGroup>
		<Exec Command="$(mono) "$(ILRepack)" /target:exe "/targetplatform:$(ILRepackTargetPlatform)" /union /parallel /internalize "/lib:$(TargetDir.TrimEnd('\'))" $(IlRepackLibs) $(IlRepackAllowDup) "/out:$(TargetPath)" "$(TargetPath)" $(IlRepackTargets)" WorkingDirectory="$(SolutionDir)" />
		<Delete Files="@(RapackTarget);" />
	</Target> 
  
  T это generic параметр. В данном контексте это тип фильтруемого значения.(source: T): R которая еще и унарная функция итд. Это всё иерархия типов для того что бы можно было композировать друг с другом функции по их "смыслу" а не сигнатуре.