Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何从web.config引用程序集?_.net_Asp.net_Assembly Resolution_Publickeytoken - Fatal编程技术网

.net 如何从web.config引用程序集?

.net 如何从web.config引用程序集?,.net,asp.net,assembly-resolution,publickeytoken,.net,Asp.net,Assembly Resolution,Publickeytoken,我需要将对“System.XML.dll”程序集的引用添加到web.config中(以便尝试解决此问题,这里提到:) 我已尝试将以下行添加到“assemblies”部分: 这导致了一个错误: 描述:在执行过程中发生错误 配置文件的处理 服务此请求所必需的。 请查看具体错误 请参阅下面的详细信息并修改您的 配置文件 分析器错误消息:无法加载 文件或程序集'System.Xml, 版本=2.0.5.0,区域性=中性, PublicKeyToken=7cec85d7bea7798e'或 它的一个依

我需要将对“System.XML.dll”程序集的引用添加到web.config中(以便尝试解决此问题,这里提到:)

我已尝试将以下行添加到“assemblies”部分:


这导致了一个错误:

描述:在执行过程中发生错误 配置文件的处理 服务此请求所必需的。 请查看具体错误 请参阅下面的详细信息并修改您的 配置文件

分析器错误消息:无法加载 文件或程序集'System.Xml, 版本=2.0.5.0,区域性=中性, PublicKeyToken=7cec85d7bea7798e'或 它的一个依赖项。位于 程序集的清单定义不正确 与程序集引用不匹配。 (来自HRESULT的异常:0x8013100)

老实说,我不确定是否正确指定了version/Culture/PublicKeyToken

我有几个不同版本的System.XML.dll:

  • C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETFramework\v3.5\Profile\Client\System.XML.dll
  • C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETFramework\v4.0\Profile\Client\System.XML.dll
  • C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETFramework\v4.0\System.XML.dll
  • C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\Silverlight\v3.0\System.Xml.dll
  • C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\Silverlight\v4.0\System.Xml.dll
另外,我在GAC框架中有一些程序集,框架x64,等等

问题1:

我需要哪个组件

问题2:(过时)

如何确定确切的程序集版本和publicKeyToken

另外,有趣的是,当我发布问题时,我发现已经有一个“publickkeytoken”标签,它包含问题2的答案:)


非常感谢

试试“gacutil/l”,并根据目标.NET版本(如3.5、4.0等),确保您在web.config中输入了您真正想要引用的内容。(在代码方面,请确保可以通过assembly.load()加载程序集。)

如果您使用的是Visual Studio,则可以通过右键单击项目->添加引用->在.NET选项卡下找到该程序集

根据项目类型,即网站或WebApplication,VS将向web.config添加条目或将dll添加到bin文件夹


现在您需要哪一个(2.0/3.5/4.0)取决于您的应用程序。

您可以通过以下方式轻松确定.NET程序集的完整签名。作为替代方案,您可以通过从VisualStudio命令提示符调用
sn-T
来获取公钥令牌。必须在开发人员命令提示符下运行该命令。这不在visual studio中您必须转到windows菜单转到visual studio并打开visual studio工具,其中是开发人员命令提示符。
<add assembly="System.Xml, Version=2.0.5.0, Culture=neutral,
     PublicKeyToken=7cec85d7bea7798e"/>