注意这里是 ASPX 页面而不是 ASPX.cs 代码页面引用GAC的组件;
要ASPX 页面引用 GAC 中的组件,则需要做下面两步:
一、在 machine.config 中增加你的 assembly :
在 <assemblies> 节 (在 <configuration>/<system.web>/<compilation>/<compilers>/<assemblies> 可以找到这个节) 中增加下面配置信息:
<add assembly="AssemblyFileName, Version=0.0.0.0, Culture=neutral, PublicKeyToken=5edf592a9c40680c" />
如果你想整个机子都起作用, 就需要改全局的 config 文件, 否则 只需要修改本站点的 web.config
二、 在 ASPX 页面头增加下面一行:
%@Import Namespace="YourNameSpace"%
完成了这两步,你就可以在 ASPX 中使用 GAC 中的组件了。
当然, 如果你WEB站点 bin 目录下有 AssemblyFile, 还是没有请求 GAC 中的, 而是使用的 bin 目录下的, 毕竟优先级上,先从 bin 目录下找组件。
ASPX 文件是第一次被请求时,才编译的,所以,上面步骤你不配置第一步,项目编译时是不报错的,只有执行的时候才会报错。
参考资料:
Adding assembly to GAC
http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=106
How to set an IIS Application or AppPool to use ASP.NET 3.5 rather than 2.0
http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx