Skip to content

Commit 0e86359

Browse files
authored
Merge pull request #1 from MaxtorCoder/main
Fixes assembly resolution for ignored assemblies.
2 parents a31eccb + 574288e commit 0e86359

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

FishNet.CodeGenerating/ILCore/PostProcessorAssemblyResolver.cs

+10-6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Collections.Generic;
44
using System.IO;
55
using System.Linq;
6+
using System.Reflection;
67
using System.Threading;
78
using Unity.CompilationPipeline.Common.ILPostProcessing;
89

@@ -16,7 +17,7 @@ public class PostProcessorAssemblyResolver : BaseAssemblyResolver
1617
[
1718
"FishNet.Runtime.dll"
1819
];
19-
20+
2021
private readonly string[] m_AssemblyReferences;
2122
private readonly Dictionary<string, AssemblyDefinition> m_AssemblyCache = new Dictionary<string, AssemblyDefinition>();
2223
private readonly ICompiledAssembly m_CompiledAssembly;
@@ -34,7 +35,7 @@ public override AssemblyDefinition Resolve(AssemblyNameReference name, ReaderPar
3435
{
3536
if (name.Name == "mscorlib" || name.Name == "netstandard")
3637
return base.Resolve(name, parameters);
37-
38+
3839
lock (m_AssemblyCache)
3940
{
4041
if (name.Name == m_CompiledAssembly.Name)
@@ -50,12 +51,12 @@ public override AssemblyDefinition Resolve(AssemblyNameReference name, ReaderPar
5051
fileName = ResolveAssemblyPath($"{name.Name}.dll");
5152
pathResolved = true;
5253
}
53-
54+
5455
if (fileName == null)
5556
{
5657
return base.Resolve(name, parameters);
5758
}
58-
59+
5960
// Try to resolve absolute file path to assembly
6061
if (!pathResolved)
6162
fileName = ResolveAssemblyPath(fileName);
@@ -89,7 +90,10 @@ private string ResolveAssemblyPath(string assemblyPath)
8990
return assemblyPath;
9091

9192
if (IgnoreResolveAssemblies.Contains(assemblyPath))
92-
return assemblyPath;
93+
{
94+
var currentDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
95+
return Path.Combine(currentDirectory!, assemblyPath);
96+
}
9397

9498
foreach (var searchPath in AssemblySearchPaths)
9599
{
@@ -179,4 +183,4 @@ public void AddAssemblyDefinitionBeingOperatedOn(AssemblyDefinition assemblyDefi
179183
m_SelfAssembly = assemblyDefinition;
180184
}
181185
}
182-
}
186+
}

0 commit comments

Comments
 (0)