繁体   English   中英

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

[英]How to reference assembly from web.config?

我需要将对“ System.XML.dll”程序集的引用添加到web.config中(为了尝试解决问题,这里提到: 扩展方法IXmlLineInfo的问题 )。

我尝试将以下行添加到“程序集”部分:

<add assembly="System.Xml, Version=2.0.5.0, Culture=neutral,
     PublicKeyToken=7cec85d7bea7798e"/>

那导致了一个错误:

说明:在处理服务于此请求所需的配置文件期间发生错误。 请查看下面的特定错误详细信息,并适当修改您的配置文件。

解析器错误消息:无法加载文件或程序集'System.Xml,版本= 2.0.5.0,文化=中立,PublicKeyToken = 7cec85d7bea7798e'或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

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

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

  • C:\\ Program Files(x86)\\参考程序集\\ Microsoft \\ Framework.NETFramework \\ v3.5 \\ Profile \\ Client \\ System.XML.dll
  • C:\\ Program Files(x86)\\ Reference Assemblys \\ Microsoft \\ Framework.NETFramework \\ v4.0 \\ Profile \\ Client \\ System.XML.dll
  • C:\\ Program Files(x86)\\ Reference Assemblys \\ Microsoft \\ Framework.NETFramework \\ v4.0 \\ System.XML.dll
  • C:\\ Program Files(x86)\\参考程序集\\ Microsoft \\ Framework \\ Silverlight \\ v3.0 \\ System.Xml.dll
  • C:\\ Program Files(x86)\\ Reference Assembly \\ Microsoft \\ Framework \\ Silverlight \\ v4.0 \\ System.Xml.dll

另外,我在GAC中的Framework,Framework x64等中有一些程序集。

问题1:

我需要哪个程序集?

问题2 :(已过时)

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

PS有趣的是,当我发布问题时,我发现已经有一个'publickkeytoken'标签,并且其中包含问题2的答案:)

非常感谢!

尝试使用“ gacutil / l”,并确保根据目标.NET版本(例如3.5、4.0等),将您真正要引用的文件放入了web.config中。 (以代码形式,请确保您可以通过Assembly.Load()加载程序集。)

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

如何通过VS添加程序集引用

根据项目的类型,即WebSite或WebApplication,VS会在web.config中添加一个条目或将dll添加到您的bin文件夹中。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM