Mat*_*nes 172 .net dll .net-assembly publickeytoken
我需要在web.config文件中重新创建一个提供程序,如下所示:
<membership defaultProvider="AspNetSqlMemProvider">
<providers>
<clear/>
<add connectionStringName="TRAQDBConnectionString" applicationName="TRAQ" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0"
name="AspNetSqlMemProvider"
type="System.Web.Security.SqlMembershipProvider, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"
/>
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
但是,我收到运行时错误,说无法加载此程序集,我认为这是因为我有错误的PublicKeyToken.如何查找我的程序集的PublicKeyToken?
或者,我是否完全采用错误的方式?
dan*_*elB 247
使用PowerShell,您可以执行以下语句:
([system.reflection.assembly]::loadfile("c:\MyDLL.dll")).FullName
Run Code Online (Sandbox Code Playgroud)
输出将提供Version,Culture和PublicKeyToken,如下所示:
MyDLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 135
使用sn.exe实用程序:
sn -T YourAssembly.dll
Run Code Online (Sandbox Code Playgroud)
或在Reflector中加载程序集.
Zan*_*non 29
如果已将DLL添加到项目中,则可以打开csproj文件并查看Reference标记.
例:
<Reference Include="System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
Run Code Online (Sandbox Code Playgroud)
小智 6
答案很简单,使用.NET Framework工具sn.exe.因此,打开Visual Studio 2008命令提示符,然后指向要获取公钥的dll文件夹,
使用以下命令,
sn –T myDLL.dll
这将为您提供公钥令牌.请记住,只有在必须强烈签名程序集时,这才有效.
例
C:\WINNT\Microsoft.NET\Framework\v3.5>sn -T EdmGen.exe Microsoft (R) .NET Framework Strong Name Utility Version 3.5.21022.8 Copyright (c) Microsoft Corporation. All rights reserved. Public key token is b77a5c561934e089
我使用 Windows 资源管理器,导航到 C:\Windows\assembly ,找到我需要的那个。从属性中,您可以复制 PublicKeyToken。
这不依赖于 Visual Studio 或正在安装的任何其他实用程序。
| 归档时间: |
|
| 查看次数: |
126588 次 |
| 最近记录: |