我一直在ASP.Net网站上工作,并且没有任何问题地发布到我的服务器上。我决定将它发布的路径更改为向下几步,这样所有的事情都会更符合逻辑。
之前:C:/inetpub/wwwroot/(此处)
在我得到了我想要的一切之后,我把它改成了2步。
C:/inetpub/wwwroot/super/duper/(HERE)后的
直到我清理了最高级的东西,才发现一切都开始破裂。如果说找不到我的.ashx处理程序,我就会出错。在茫然地凝视了几个小时之后,我把我的/super/duper/bin/ file移到了顶层,/inetpub/wwwroot/bin/,还有中提琴。啊,真灵。
现在我的问题是,当/bin/文件整个时间都是可以访问的时候,这为什么会产生这种效果呢?
发布于 2012-02-20 14:29:28
我认为其他答案和这个问题暗示的是,仅仅将文件夹移动到希望引用站点的位置是不够的,更重要的是,运行代码是不够的。在我看来,你有两个选择。
备选案文1。
将bin文件夹保留在WWWROOT级别,但将其他项目移动到所需的文件夹结构中。运行时将把bin文件夹中的dll加载到应用程序池中,您的aspx等应该会看到它。
备选案文2。
按照您想要的级别创建一个虚拟文件夹/应用程序,并将所有内容放到其中。
我认为备选方案2更好。
另外,如果您没有在您的urls中使用~,您可能想看看这个。
发布于 2012-02-20 12:24:45
bin目录是编译后的程序集所在的系统目录,除非它们不在GAC中。Bin目录应位于站点根文件夹中。除非您有自己的程序集注册模块或没有动态加载它们:-)
发布于 2012-02-20 12:26:08
ASP.NET应用程序应放在IIS中定义为应用程序的文件夹的根目录中。您可以在任何文件夹中创建应用程序。应用程序级别的东西,如包含应用程序设置和bin文件夹的web.config,应该直接放在这个应用程序文件夹中。在IIS6中,应用程序称为虚拟目录。
https://stackoverflow.com/questions/9360999
复制相似问题