| File: src\GetAssemblyFullName.cs | Web Access |
| Project: src\arcade\src\Microsoft.DotNet.Arcade.Sdk\Microsoft.DotNet.Arcade.Sdk.csproj (Microsoft.DotNet.Arcade.Sdk) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Reflection; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; namespace Microsoft.DotNet.Arcade.Sdk { public class GetAssemblyFullName : Microsoft.Build.Utilities.Task { [Required] public ITaskItem[] Items { get; set; } public string PathMetadata { get; set; } [Required] public string FullNameMetadata { get; set; } [Output] public ITaskItem[] ItemsWithFullName { get; set; } public override bool Execute() { ItemsWithFullName = Items; foreach (var item in Items) { var assemblyPath = string.IsNullOrEmpty(PathMetadata) ? item.ItemSpec : item.GetMetadata(PathMetadata); item.SetMetadata(FullNameMetadata, AssemblyName.GetAssemblyName(assemblyPath).FullName); } return true; } } }