我有一个相当大的经典asp网站,虚拟目录配置为集中某些资源。我的问题是由于某种原因我无法访问任何我的命名空间和类。我尝试添加对另一个项目的引用,其中我在命名空间“DAL”中有类,即使intellisense看到类和网站编译正常,当我尝试访问引用“DAL”命名空间中的类的任何页面时,它会出错。
我在浏览器中收到以下错误消息“CS0103:当前上下文中不存在名称'CMS'”。部分问题是网站项目的根目录与IIS中的Web根目录不同。所以我的库位于网站根“/ bin”文件夹中,但是iis正在寻找较低级别的IIS webroot中的这些文件。那么我如何让.net看到我的二进制文件而不将它们放在较低的IIS网站根目录中呢?我尝试将虚拟目录设置为我的.dll文件,但似乎没有效果。
谢谢你的帮助!
======================澄清====================
我想要做的是保留.dll文件,我希望我的网站在更高级别的目录中使用,然后我在IIS中设置为web根目录的文件夹。所以说库我想在project / bin文件夹中使用它“DAL”,但在IIS下,默认站点的Local Path设置为“/ site / default”。我似乎可以使用“DAL”库的唯一方法是将/ bin文件夹放入“/ site / default / bin”,这个项目不是一个选项。这有帮助吗?
答案 0 :(得分:1)
使用NTFS连接点来实现听起来像是同一个目标一直在为我工作。
举个例子,我有一个网站,里面有20多个孩子的IIS应用程序,大部分都是相同的(不要问!),而不是在每个中复制'bin'文件夹(它们都是相同的)每个子应用程序都有一个“bin”连接点,指向网站根目录中的“bin”文件夹。
/bin <- this is the actual 'bin' folder
/app1
/app1/bin <- this is a junction point
/app2
/app2/bin <- this is a junction point
/app3
/app3/bin <- this is a junction point
/images
...
...
要创建这些交接点,如果您使用的是Vista / Win2k8或更高版本,则可以使用内置命令“mklink”,对于早期版本的Windows,请使用SysInternals junction.exe工具 - 可用here
答案 1 :(得分:0)
也许让网站路由文件夹成为IIS中的嵌套应用程序?
答案 2 :(得分:0)