@Functions在当前上下文中不存在

时间:2017-08-10 19:23:50

标签: c# razor visual-studio-2015

我知道这个问题的变化已被问及并得到解答。但是,这是一个特定的情况,我已经定义了一个Functions.cshtml页面,并且我已成功引用该页面上的函数。我已经能够成功运行我的网站。但是,当我在IDE中调用项目时,VS 2015会定期找不到Functions.xyz引用。有时,我可以将Functions.cshtml页面复制到另一个位置,然后从项目中删除它,关闭VS,重新打开VS并将Functions.cshtml重新添加回项目。这本身并不会导致VS现在解决问题。然后我必须在IDE编辑器中打开Functions.cshtml并选择构建网站。然后SOMETIMES,VS将解析参考。但是,我现在卡住了 - VS完全无法解析引用,需要有关如何解决它的新想法。这是代码示例: Functions.cshtml:

@Functions {

    public static System.Data.DataSet qryGeneralExecute(string query)
    {
        using (SqlConnection cn = new SqlConnection(getConnectionString(false).ConnectionString))
        using (SqlCommand cmd = new SqlCommand(query, cn))
        {
            SqlDataAdapter adapter;
            System.Data.DataSet ds = new System.Data.DataSet();
            cmd.CommandType = System.Data.CommandType.Text;

            cn.Open();
            adapter = new SqlDataAdapter(cmd);
            adapter.SelectCommand = cmd;
            adapter.Fill(ds);
            cn.Close();

            if (ds.Tables.Count > 0)
            {
                return ds;
            }
            return null;
        }
    }
}

致电页面:

        {
            bor_studinfoDataSet = Functions.qryGeneralExecute(query);
        }

当我运行项目时,我得到The name 'Functions' does not exist in the current context

有关解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:0)

好的,这就是发生的事情。在我的项目工作和现在之间,我经历了一个纠正完全不相关的SQL Server管理系统(SSMS)问题的过程,无法在严格的安全环境下登录到SQL实例。这包括卸载&多次重新安装SQL。在更正此问题的过程中,虽然安装了v3.5,但已卸载SQL Server Compact 4.0。显然,这有点触发了这个问题,包括我认为无关的错误“无法加载文件或程序集'System.Web.Helpers',版本= 3.0.0.0或其中一个依赖项”但似乎是相关的。我通过微软的NuGet进行更新解决了这个助手错误.AspNet.WebPages(在这里找到了Bjorn的这个解决方案 - Could not load file or assembly 'System.Web.Helpers, error on IIS 8 - 感谢Bjorn)。一旦我纠正了这个帮助器错误,这个函数错误就解决了,但我接收到错误“无法加载文件或程序集system.data.sqlserverce,版本= 4.0.0.0或其依赖项之一”。在寻找解决方案时,我被引导到了Could not load file or assembly 'System.Data.SqlServerCe, Version=4.0.0.0。然后,我继续下载并安装MS SQL Compact v4.0,并消除了最后一个错误。该项目现在编译,我可以运行我的应用程序。