Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,16 @@ private void ProcessSymbolAssets(
}
}

private string GetItemSpecWithoutFingerprint(ITaskItem asset)
=> FingerprintAssets ? asset.GetMetadata("OriginalItemSpec") : asset.ItemSpec;

private static string GetNonFingerprintedAssetItemSpec(ITaskItem asset)
{
var fileName = Path.GetFileName(asset.GetMetadata("OriginalItemSpec"));
var assetToUpdateItemSpec = Path.Combine(Path.GetDirectoryName(asset.ItemSpec), fileName);
return assetToUpdateItemSpec;
}

private void ComputeUpdatedAssemblies(
IDictionary<(string, string assemblyName), ITaskItem> satelliteAssemblies,
List<ITaskItem> filesToRemove,
Expand All @@ -440,14 +450,15 @@ private void ComputeUpdatedAssemblies(
foreach (var kvp in assemblyAssets)
{
var asset = kvp.Value;
var fileName = Path.GetFileName(asset.ItemSpec);
var fileName = Path.GetFileName(GetItemSpecWithoutFingerprint(asset));
var assetToUpdateItemSpec = FingerprintAssets ? GetNonFingerprintedAssetItemSpec(asset) : asset.ItemSpec;
if (IsWebCilEnabled)
fileName = Path.ChangeExtension(fileName, ".dll");

if (resolvedAssembliesToPublish.TryGetValue(fileName, out var existing))
{
// We found the assembly, so it'll have to be updated.
assetsToUpdate.Add(asset.ItemSpec, asset);
assetsToUpdate.Add(assetToUpdateItemSpec, asset);
filesToRemove.Add(existing);
if (!string.Equals(asset.ItemSpec, existing.GetMetadata("FullPath"), StringComparison.Ordinal))
{
Expand All @@ -465,11 +476,12 @@ private void ComputeUpdatedAssemblies(
{
var satelliteAssembly = kvp.Value;
var relatedAsset = satelliteAssembly.GetMetadata("RelatedAsset");

if (assetsToUpdate.ContainsKey(relatedAsset))
{
assetsToUpdate.Add(satelliteAssembly.ItemSpec, satelliteAssembly);
var culture = satelliteAssembly.GetMetadata("AssetTraitValue");
var fileName = Path.GetFileName(satelliteAssembly.ItemSpec);
var fileName = Path.GetFileName(GetItemSpecWithoutFingerprint(satelliteAssembly));
if (IsWebCilEnabled)
fileName = Path.ChangeExtension(fileName, ".dll");

Expand Down Expand Up @@ -517,7 +529,8 @@ private void ComputeUpdatedAssemblies(
ApplyPublishProperties(newAsemblyAsset);

newAssets.Add(newAsemblyAsset);
updatedAssetsMap.Add(asset.ItemSpec, newAsemblyAsset);
var assetToUpdateItemSpec = FingerprintAssets ? GetNonFingerprintedAssetItemSpec(asset) : asset.ItemSpec;
updatedAssetsMap.Add(assetToUpdateItemSpec, newAsemblyAsset);
break;
default:
// Satellite assembliess and compressed assets
Expand Down
Loading