今天在测试ASP.NET预编译时,将WebSite文件夹内所有文件上传至虚拟空间
打开页面测试,提示分析器错误消息: 未能加载程序集“xx”(xx为预编译后的dll文件)
经过多次测试,在本地IIS目录结构下并未出现类似情况,猜测是由于虚拟空间的特殊目录结构导致的
解决方法:
在虚拟目录根目录下新建bin文件夹,并将Website下的bin文件夹内的DLL上传至此处即可
结论:
预编译有利于保护源码,但是唯一不方便的就是预编译后的DLL需要放到根目录下
例如目录www\test1\default.aspx,这个页面的dll也需要放到虚拟目录根目录下的bin文件夹内,否则会提示找不到dll。
个人觉得当dll文件过多的时候,会导致一些混乱。
如果错误,欢迎指正。