bin 和obj 的意义
来源:互联网 发布:沃德添利 风险 知乎 编辑:程序博客网 时间:2024/05/01 00:35
Bin 文件夹
可以在 Bin 文件夹中存储编译的程序集,并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹。典型的示例是您为自定义类编译好的代码。您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中,这样所有页都可以使用这个类。
Bin 文件夹中的程序集无需注册。只要 .dll 文件存在于 Bin 文件夹中,ASP.NET 就可以识别它。如果您更改了 .dll 文件,并将它的新版本写入到了 Bin 文件夹中,则 ASP.NET 会检测到更新,并对随后的新页请求使用新版本的 .dll 文件。
Bin 文件夹的安全性
将编译后的程序集放入 Bin 文件夹中会带来安全风险。如果是您自己编写和编译的代码,那么您了解代码的功能。但是,您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码。在完成代码测试并确信已了解代码功能之前,要对已编译的代码保持谨慎的态度。
请注意以下安全方面的知识,这些知识与是否将已编译的代码放入 Bin 文件夹有关:
Bin 文件夹中程序集的作用范围为当前应用程序。因此,它们无法访问当前 Web 应用程序之外的资源或调用当前 Web 应用程序之外的代码。
运行时,程序集的访问级别由本地计算机上指定的信任级别确定。有关更多信息,请参见 ASP.NET 信任级别和策略文件。
如果您使用了诸如 Visual Studio 这样的设计器,那么 Bin 文件夹中的代码运行所在的上下文与运行时不同。例如,代码可能以完全信任状态运行。
Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。
obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。
bin目录是程序生成后的文件,obj是执行文件。
obj调用bin的代码。bin也就是箱子,箱子里放了代码。
- bin 和obj 的意义
- 关于bin和obj文件夹。debug 和release的区别
- 关于bin和obj文件夹
- 关于bin和obj文件夹
- 关于bin和obj文件夹
- .NET里面Bin目录和Obj目录的作用
- VS中bin和obj文件引发的问题
- C#项目中的bin目录和obj目录的区别
- C#项目中的bin目录和obj目录的区别
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @synthesize obj=_obj的意义详解 @property和@synthesize
- @property 和 synthesize obj=_obj的意义详解
- 随机序列迭代器randSeq.py&&任意项的迭代器anyIter.py
- Linux查看端口被占用情况命令
- git服务器搭建
- tomcat 7: IllegalArgumentException: taglib definition not consistent……
- D-Sub,DVI-D 区别
- bin 和obj 的意义
- Linux ALSA声卡驱动之一:ALSA架构简介
- 无法找到“XXX.exe”的调试信息
- .asp 中连接数据库问题
- oracle 中合并数据 wm_concat(column)函数的使用
- LINQ准备篇--学习linq的资料和笔记(一)
- 科学计数法
- mysql误删除root用户或者忘记root密码时的解决办法
- Linux ALSA声卡驱动之二:声卡的创建