无法找到ID为"Safari1Plus"的浏览器或网关元素

Jac*_*k M 6 asp.net iis asp.net-mvc user-controls visual-studio-2010

我的机器上有一个陌生人错误,我在我的应用程序的app_browser中有一个.browser文件,它有以下几行:

browsers>
<!-- Disable the Menu Adapter for the Safari/Chrome browser-->
<browser refID="Safari1Plus">
    <controlAdapters>
        <adapter controlType="System.Web.UI.WebControls.Menu"
                         adapterType="" />
    </controlAdapters>
</browser>
Run Code Online (Sandbox Code Playgroud)

当我尝试加载应用程序时,我得到了主题中的错误,但我的同事(我们都使用相同的代码库)都没有得到它.

我有一种本能,即错误与IIS有关,我花了一整天的时间试图解决这个问题,但没有成功.

为了使这个工作在此期间,我已经用默认值替换了safari1plus,但是底层的问题是我的一个页面上有一个gridview,它在我的本地机器上没有显示任何东西,并且它在其他开发机器上工作.我不确定为什么或原因,但它看起来像是一个基于配置的问题,也许一两个人不得不处理这个问题.

任何有想法的人都欢迎.

显然,操作系统是Win 7 64位,VS2010 Professional和IIS7.

我也检查了Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers和Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers以及Framework64目录的内容,所有内容看起来都一样(与其他开发机器相比)

非常感谢

小智 10

您应该refId在位于的相应浏览器定义文件中查找确切的内容<windir>\Microsoft.NET\Framework[64]\<ver>\CONFIG\Browsers.

对于.NET 4.0,refIdWebKit和不是Safari1Plus.


Jac*_*k M 3

因为我怀疑这是一个 IIS 问题,所以我通过检查所有 Web 应用程序的所有设置意外地解决了它。我的应用程序有 7 个共享同一数据层的应用程序。

我解决这个问题的方式是确保所有应用程序都使用 ASP.Net v2.0 集成池作为应用程序池,显然这没有任何意义,但这对我有用。