我怎么可以检索程序集的限定的类型名称? [英] How can I retrieve an assembly's qualified type name?

查看:151
本文介绍了我怎么可以检索程序集的限定的类型名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何可以生成一个程序集限定的类型名称?

举一个例子,在配置成员资格提供程序的时候,我将不得不提供SqlMembershipProvider的一个程序集限定的类型名称中的类型属性(在这个例子中,我从什么地方复制下面的配置)。

你如何生成该程序集限定的类型名称?
是否必须手动每次通过检查装配式类型?


 <会员和GT;
  <供应商>
    <清/>
    <添加名称=AspNetSqlMembershipProvider
           类型=System.Web.Security.SqlMembershipProvider,
           System.Web程序,版本= 2.0.0.0,
           文化=中性公钥= b03f5f7f11d50a3a
           的connectionStringName =LocalSqlServer这个/>
  < /供应商>
< /会员>


[更新] :<一href=\"http://stackoverflow.com/questions/622902/powershell-tips-tricks-for-net-developers/622976#622976\">Simpler PowerShell的版本

  PS方式&gt;([System.String])AssemblyQualifiedName
System.String,mscorlib程序,版本= 2.0.0.0,文化=中性公钥= b77a5c561934e089


解决方案

这是一个不错的得心应手的工具(外壳扩展与源$ C ​​$ C)。

更新:从看到的dance2die评论后,组建了一个样本PowerShell脚本的思想类型名称导出为CSV文件

 &GT; [System.Reflection.Assembly] :: LoadWithPartialName(System.Web程序)&GT; [System.Web.Security.SqlMembershipProvider] |选择{$ _ UnderlyingSystemType.AssemblyQualifiedName} |出口CSV C:\\ typenames.csv

使用C#,如果要生成的程序集限定的类型名称的所有引用设置,很容易使用反射来建立一个测试脚本。

 使用系统;
使用的System.Reflection;
........TY型= ty​​peof运算(System.Web.Security.SqlMembershipProvider);
字符串全名= ty.AssemblyQualifiedName;
//\"System.Web.Security.SqlMembershipProvider,System.Web程序,版本= 2.0.0.0,文化=中性公钥= b03f5f7f11d50a3a

How can I generate a assembly qualified type name?

For an example, when configuring a membership provider, I would have to provide a assembly qualified type name for "SqlMembershipProvider" (in this example, i have copied the below configuration from somewhere) in "type" attribute.

How do you generate that assembly qualified type name? Does it have to be typed manually everytime by examining an assembly type?

<membership>
  <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider"
           type="System.Web.Security.SqlMembershipProvider,
           System.Web, Version=2.0.0.0,
           Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
           connectionStringName="LocalSqlServer"/>
  </providers>
</membership>

[UPDATE]: Simpler PowerShell version

PS>([System.String]).AssemblyQualifiedName
System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

解决方案

This is a nice handy tool (shell extension with source code) for copying the fully qualified name to clipboard by right clicking on any assembly.

Update: After seeing the comment from dance2die, thought of putting together a sample powershell script to export the type name to a csv file.

> [System.Reflection.Assembly]::LoadWithPartialName("System.Web")

> [System.Web.Security.SqlMembershipProvider] | select {$_.UnderlyingSystemType.AssemblyQualifiedName } | export-csv c:\typenames.csv

Using C#, if you want to generate the assembly qualified type name with all the references set, it is easy to build a test script using reflection..

using System;
using System.Reflection;
........

Type ty = typeof(System.Web.Security.SqlMembershipProvider);
string fullname = ty.AssemblyQualifiedName;
//"System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

这篇关于我怎么可以检索程序集的限定的类型名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆