验证正在运行的程序集的强名称
是否可以检查当前已经与您自己正在运行的应用程序进程分开运行的 .NET 应用程序的强名称?
编辑:为了澄清,不需要执行程序集的硬编码路径的解决方案将是最理想的解决方案。
编辑#2:有没有办法不使用反射来做到这一点?
Is it possible for one to check the strong name of a .NET application that is already currently running separately from your own running applications process?
EDIT: For clarification, a solution that does not require a hard coded path to the executing assembly would be the most ideal solution.
EDIT #2: Is there any way to do this without using reflection?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
没有反思:
如果你知道这个过程,你就知道文件名。如果您知道文件名,则可以处理PE标头以查找强名称签名。
Without reflection:
If you know the process, you know the filename. If you know the filename, you can process the PE headers to find the strong name signature.
这能为您提供您正在寻找的东西吗?
Does this give you what you are looking for?
那应该有效:
That should work:
嗯,我认为解决您问题的方法是 AssemblyName 类。
首先
,每个进程都使用 Process.Modules 来获取该进程加载的 dll 或 exe 文件。
当您获得您想要的名称后。 (该模块具有 name 属性)。
然后使用
这应该可以工作。
希望有帮助
Hmm I think the solution to Your problem is the AssemblyName class.
First
then with each process take Process.Modules to get dlls or exes loaded by this process.
After You obtain the name You want. (the module has name property).
Then use
This should work.
hope it helps
如果“强名称”是指 exe 名称:
If by "strong name" you mean the exe name: