使用虚拟目录

时间:2017-06-04 21:23:46

标签: asp.net iis kentico

我有一个现有的网站设置和工作(kentico 10),我想使用虚拟目录向其添加Web API。

我设置了web api项目,当我将IIS作为普通站点映射到它时,它可以工作。但是,当我将文件夹映射为虚拟目录并将应用程序转换为我的kentico网站时,我会收到错误。我不明白为什么我得到的错误来自kentico web配置而不是新的web api web.config / service:

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0234: The type or namespace name 'Web' does not exist in the namespace 'CMS.Base' (are you missing an assembly reference?)

Source Error:


Line 47:       <namespaces>
Line 48:         <add namespace="CMS.Helpers" />
Line 49:         <add namespace="CMS.Base.Web.UI" />
Line 50:       </namespaces>
Line 51:     </pages>

我确实尝试将这些DLL添加到web api项目的bin中,这会阻止此错误,但我无法在web-api项目中按照预期从kentico中检索数据。

谢谢

1 个答案:

答案 0 :(得分:0)

每当您在IIS中的网站中创建应用程序时,子应用程序将继承父web.config,这与主网站继承“全局”web.config的方式非常相似。也许并非所有节点都会被继承,但很多节点都会被继承。

所以你要做的就是在你新创建的子应用程序的web.config中添加(即:{{1}})节点到你想要删除命名空间的区域。我不能具体说明哪些节点需要应用这些节点,但试验和错误应该有所帮助。如果您按照屏幕上显示的错误进行操作,则应该有助于在您的子web.config中添加这些节点。