【问题标题】:Assemblies in Web.configWeb.config 中的程序集
【发布时间】:2011-08-22 02:52:21
【问题描述】:

我从事 .NET 开发已经快一年了,但我仍然不知道 <assemblies> 部分的目的是什么。

该部分的目的是什么?我可以删除那里指定的程序集吗?我问了我团队中的一些高级开发人员,但他们只是告诉我不要理会它。谁能给我一个很好的解释?

【问题讨论】:

  • “忽略它”这是一个可耻的答案......
  • 哪个是更好的答案?

标签: c# asp.net-mvc web-config assemblies


【解决方案1】:

程序集部分的目的是什么?

ASP.NET 应用程序中的<assemblies> 元素定义了在应用程序编译 期间使用的程序集;此列表中的程序集应该是您所依赖的程序集,因此是编译代码所必需的。

这部分是必要的,因为 ASP.NET 将在用户第一次从您的应用程序请求资源时编译应用程序。在此编译过程中,ASP.NET 需要链接您的依赖项才能编译您的应用程序。默认情况下,ASP.NET 会扫描bin 文件夹和.NET 框架安装目录以查找指定的程序集。

可以在 Web.config 中删除引用吗?

视情况而定;如果你不使用依赖,当然,你可以删除它。很可能,您可以删除其中的一些,但不是全部。

要找出可以删除的依赖项,请执行以下操作:

  1. 从您的项目中删除引用。
  2. 编译您的应用程序。
  3. 如果您的应用程序仍然可以编译,请继续将其从您的 Web.config 中删除;如果没有,请不要删除它。

希望这可以为您提供足够的信息,让您朝着正确的方向前进。

【讨论】:

  • 阿拉亚 >> 谢谢。有时我得到指向这个程序集的错误。那我可以删除吗?
  • @kevin:按照我提到的步骤来了解是否可以删除您所关注的特定程序集。
【解决方案2】:

值得注意的是,Web.Config 的这个子键可用于引用您的 webform 应用程序中的常用程序集,因此您不必在使用该程序集的每个页面或控件中都包含引用。

这在 ASP.Net MVC 中很常用。

Phil Haack 举了一个这样的例子: http://haacked.com/archive/2006/11/14/register_custom_controls_in_web.config.aspx

【讨论】:

  • Russ C >> 谢谢。有时我得到指向这个程序集的错误。那我可以删除吗?
  • 这取决于哪个程序集显示错误,实际上是什么显示错误?如果您使用的是 resharper,如果经常在配置文件中显示问题;在这种情况下,我倾向于禁用对 .config 文件的分析。如果不是 - 具体错误是什么?
  • Russ C>> 我在一周前遇到了一些指向某些程序集的错误。我忘记了确切的错误,但我们设法解决了它。所以我想知道我是否可以删除它。谢谢你的回复!!
  • 嗯,问题是,在 CLR 尝试使用它之前,您不会知道是否需要该引用。如果您确定它不是对框架附带的 .net 程序集的引用,则可以安全地删除它;但是,如果您尝试在打开 web.config 的情况下编译您的应用程序,您可能只会看到该错误 - 如果是这种情况,我会保留它。
  • Russ C >> 顺便说一句,它是如何出现在我的 web.config 中的?当我第一次编译我的 web 应用程序时它会自动生成?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多