Assemblies in Web.config

2019-06-14 21:40发布

I've been doing .NET development for about a year, but I still don't know what the purpose of the <assemblies> section is.

What is the section's purpose? Can I delete the assemblies specified in there? I asked some senior developers in my team but they just told me to ignore it. Can someone give me a good explanation on it?

3条回答
狗以群分
2楼-- · 2019-06-14 22:03

What is the purpose of the assemblies section?

The <assemblies> element in an ASP.NET application defines the assemblies that are used during compilation of an application; the assemblies on this list should be the ones you depend on and are thus required for your code to compile.

This section is necessary because ASP.NET will compile the application the first time a user requests a resource from your application. During this compilation process, ASP.NET needs to link in your dependencies in order to compile your application. By default, ASP.NET will scan the bin folder and the .NET framework installation directory to find the assemblies specified.

Can the references be deleted in the Web.config?

It depends; if you're not using the dependency, sure, you can delete it. Most likely, you'll be able to remove some of them, but not all of them.

To find out which dependencies you can remove, do the following:

  1. Remove the reference from your project.
  2. Compile your application.
  3. If your application still compiles, go ahead and remove it from your Web.config; if it doesn't, don't remove it.

Hope this gives you enough info to get moving in the right direction.

查看更多
劫难
3楼-- · 2019-06-14 22:06

This has some good explornation.

查看更多
再贱就再见
4楼-- · 2019-06-14 22:22

It's worth noting that this sub-key of Web.Config can be used to reference common assemblies in your webform app, so you don't have to include a reference in every page or control that uses the assembly.

This is used quite commonly in ASP.Net MVC.

Phil Haack has an example of this: http://haacked.com/archive/2006/11/14/register_custom_controls_in_web.config.aspx

查看更多
登录 后发表回答