在不加载 dll 的情况下获取 public 个密钥令牌

Get public key tokent without loading dll

我需要一个 dll public 密钥令牌。我知道这可以通过加载 dll 并获取该信息来实现:

Assembly.GetExecutingAssembly().GetName().GetPublicKeyToken();

不幸的是,我可能需要在 运行 期间更改 dll,所以我无法加载它。

有没有什么方法可以在不加载 dll 的情况下获取该信息?甚至通过给出 dll 的实际路径?

旁注:我也可以通过使用 System.Diagnostics 启动一个使用实用程序 SN 获取该信息的进程来获取该信息,但我想避免这种情况。

可以通过以下方式在不加载程序集的情况下获取 public 令牌:

AssemblyName.GetAssemblyName("assembly-path.dll").GetPublicKeyToken();