当前位置:  开发笔记 > 编程语言 > 正文

如何找到装配的完全限定名称?

如何解决《如何找到装配的完全限定名称?》经验,为你挑选了7个好方法。

如何找到程序集的完全限定名称,例如:

MyNamespace.MyAssembly, version=1.0.3300.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089

我已经设法使用sn.exeSDK中的我的PublicKeyToken ,但我想轻松获得完整的限定名称.



1> David Clarke..:

这是来自I Note It Down的无耻复制粘贴,是获取项目输出的FQN的简单方法:

Open Visual Studio
Go to Tools –> External Tools –> Add
    Title: Get Qualified Assembly Name
    Command: Powershell.exe
    Arguments: -command "[System.Reflection.AssemblyName]::GetAssemblyName(\"$(TargetPath)\").FullName"
    Check "Use Output Window".

新工具出现在Tools –> Get Qualified Assembly Name.选择菜单项后,将在输出窗口中给出程序集名称.


微软,这一年是2015年.请为我们提供更好的替代方案,以获得完全合格的程序集名称.
这非常棒.
这应该是选定的答案

2> Hallgrim..:

如果可以将程序集加载到.NET应用程序中,则可以执行以下操作:

typeof(SomeTypeInTheAssembly).Assembly.FullName

如果你不能,那么你可以使用ildasm.exe,它将在那里的某个地方:

ildasm.exe MyAssembly.dll /text


而且我不确定"在某个地方"是否有资格作为答案.ildasm命令导致文本墙,格式不正确.以下几个建议更完整.
``ildasm.exe MyAssembly.dll/text```在文本的任何地方都不包含完整的程序集名称.这种方法具有误导性和不准确性.

3> Daren Thomas..:

晚了,但搜索了一些关于这个问题的更多信息并找到了这个页面:

http://www.pvle.be/2010/04/getting-an-assemblys-strong-name-with-powershell/

他描述了一个可以做到这一点的powershell函数.所以.我以前从未使用过powershell,但我想我会尝试一下:

C:\> cd PATH_TO_ASSEMBLY   
C:\PATH_TO_ASSEMBLY>powershell
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\PATH_TO_ASSEMBLY> [System.Reflection.AssemblyName]::GetAssemblyName('System.Data.SQLite.dll').FullName
System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
PS C:\PATH_TO_ASSEMBLY>

这可以通过使用代码在其他答案中提到的技巧,除了您不必创建一个项目来执行此操作 - 只需在提示符处输入;)



4> Dave Van den..:

使用Assembly.GetExecutingAssembly()获取当前程序集,使用Assembly.GetEntryAssembly()获取启动它的程序集,或使用Assembly.GetCallingAssembly()来获取调用函数的代码的程序集(一个在堆).

获得正确的程序集后,请使用FullName属性,如其他答案所示.



5> Per Noalt..:

此外,如果您正在寻找GAC中已有的程序集的完全限定名称,您可以启动Visual Studio命令提示符(设置正确路径的最简单方法)并使用gacutil /l列出所有程序集及其各自的FQN.使用gacutil /l 过滤列表更容易找到你要找的内容.



6> Richard Slat..:

如果您在Reflector中加载程序集(DLL,EXE等),它将告诉您底部的完整强名称.


在发布时,Reflector是免费的.
ILSpy是Reflector的免费替代品,可用于查找程序集的完全限定名称.
这个答案是不合适的,他没有要求一个118美元的插件来找到它.

7> 小智..:

您也可以使用开源ILSpy,加载程序集后,它的全名将在代码窗口顶部的注释中显示

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有