我将Sitecore作为站点根目录(运行正常),在其下我需要运行一堆asp.net应用程序。
到目前为止,为子应用程序创建了一个虚拟目录,将其转换为应用程序。但是当我浏览子应用程序时,它会出现此错误消息。
Compilation Error
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: CS0246: The type or namespace name 'Sitecore' could not be found (are you missing a using directive or an assembly reference?)
Source Error:
Line 3264: </providers>
Line 3265: </roleManager>
Line 3266: <profile defaultProvider="sql" enabled="true" inherits="Sitecore.Security.UserProfile, Sitecore.Kernel">
Line 3267: <providers>
Line 3268: <clear/>
似乎子asp.net应用程序继承了来自Sitecore web.config的Sitecore设置。
有什么想法吗?
答案 0 :(得分:1)
这应该是可能的。您必须为虚拟目录中的非Sitecore应用程序创建web.config,并覆盖引用Sitecore类的<system.web>
和<system.webserver>
下的部分。这包括:
它可能是别的东西,但你应该得到一般的想法。
答案 1 :(得分:1)
这个答案类似于Yan,但对于单独的答案来说是不同的。希望它有所帮助。
进入IIS并选择子应用程序。选择模块。删除所有与Sitecore相关的模块。别担心,父Sitecore应用程序仍将保留这些模块。
执行此操作时,实际上是在更改子应用程序web.config,因此您将在web.config文件中看到删除的元素,如此。
<remove name="SitecoreConfigWatcher" />
<remove name="SitecoreHttpModule" />
您可能还需要清除其他一些继承的设置。
<profile enabled="false"><providers><clear/></providers></profile>
<roleManager enabled="false"><providers><clear /></providers></roleManager>