当前位置: 首页 > 编程语言 > C#

ASP.NET网站无法在App_Code文件夹中看到.cs文件分享

时间:2023-04-10 13:13:24 C#

C#学习教程:ASP.NET网站在App_Code文件夹共享程序中看不到.cs文件)我在VS2010中用C#做的。它在我的机器上运行良好,但是当我将它上传到它托管的站点时,它无法编译,给出:“CS0246:找不到类型或名称空间名称'DataAccess'(您是否缺少using指令或程序集参考?)”我一直在使用VS中的复制站点功能,在我想将自己的类放在App_Code文件夹中并使用它之前没有遇到任何问题。我在其他答案中读到将.cs属性更改为“编译”而不是“内容”,但是文件属性中没有这样的选项……只有文件名、完整路径和自定义工具。这是.cs文件中的代码:usingSystem;使用系统数据;使用System.Data.SqlClient;使用System.Web.Configuration;//////提供对SQLServer数据库的访问。//////publicclassDataAccess{//变量和公共属性**************************************私有字符串connectionString="";私有intrecordCount=-1;//////属性:获取检索或更改的记录数///publicintCount{get{returnrecordCount;}}//类构造函数在对象初始化时执行***********//////web.config文件中的连接字符串名称需要初始化DataAccess//////Nameofweb.config连接字符串publicDataAccess(stringConnectionName){if(WebConfigurationManager.ConnectionStrings[ConnectionName]==null){thrownewException("在web.config中找不到名为'"+ConnectionName+"'的连接字符串");}//从web.config获取连接字符串。connectionString=WebConfigurationManager.ConnectionStrings[ConnectionName].ConnectionString;}//////执行SELECT语句并在dataTable中返回结果//////SelectSQL语句///publicDataTableFillDataTable(stringSQL){SqlConnection_objConn=newSqlConnection(connectionString);SqlDataAdapterobjAdapter=newSqlDataAdapter(SQL,_objConn);DataTabledt=newDataTable();尝试{objAdapter.Fill(dt);}catch(SqlExceptionex){thrownewException("SQL错误:"+SQL,ex);}catch(Exceptionex){抛出ex;//向父类冒泡异常}finally{_objConn.Close();}recordCount=dt.Rows.Count;返回数据;}//////执行“非查询”SQL语句(插入、更新、删除)//////插入、更新或删除///受影响的记录数publicintExecuteNonQuery(stringSQL){SqlConnection_objConn=新的SqlConnection(connectionString);尝试{_objConn.Open();SqlCommandobjCmd=newSqlCommand(SQL,_objConn);recordCount=objCmd.ExecuteNonQuery();}Catch(SqlExceptionex){thrownewException("SQL错误:"+SQL,ex);}catch(Exceptionex){thrownewException(ex.Message);//向父类重新抛出异常}finally{_objConn.Close();}返回记录计数;}publicintExecuteScalar(StringSQL){SqlConnection_objConn=newSqlConnection(connectionString);int标识符;尝试{_objConn.Open();SqlCommandobjCmd=newSqlCommand(SQL,_objConn);intID=Convert.ToInt32(objCmd.ExecuteScalar());}catch(SqlExceptionex){thrownewException("SQL错误:"+SQL,ex);}catch(Exceptionex){thrownewException(ex.Message);//向父类重新抛出异常}finally{_objConn.Close();}返回intID;}}//endclass从我的页面:protectedvoidPage_Load(objectsender,EventArgse){//初始化dataAccessclassDataAccessmyDA=newDataAccess("A05Customers");//填充数据表并绑定到GridView控件字符串strSQL="Select*fromtblCustomers";gvCustomers.DataSource=myDA.FillDataTable(strSQL);gvCustomers.DataBind();}GridView感谢您的帮助!默认情况下,网站不编译.cs文件您需要做一些不同的事情。在该类文件的属性中将每个类文件设置为“编译”。您可以通过单击类文件、在“属性资源管理器”窗口中查看属性并将“构建操作”下拉列表更改为“编译”来查看此选项。如果上述方法不起作用,请从app_code中删除该类并将其放入根文件夹中。您有app_code文件夹,它是Web应用程序的根文件夹(不仅是文件夹或虚拟文件夹)。似乎Asp.NET看不到app_code文件夹。内容和编译选项仅在WebApplication项目中可用。我在开户前就问过这个问题,不然我早就编辑了。之后我遇到了同样的错误:检查我有一个网站,而不是Web应用程序,因此没有.cs文件的编译/内容属性。检查App_Code文件夹的位置。我尝试将GridView.aspx放在根目录下以及它自己的文件夹中,同样的错误。_App_CodeDataAccess.csApp_DataGridViewGridView.aspxWeb.config将类从App_Code移至根。同样的错误。这最后一个我认为会起作用,但它没有。使用“发布站点”功能上传预编译代码。我可以看到它现在是bin文件夹中的DataAccess.dll,根目录中有一个PrecompiledApp.config文件。同样的错误。更新:解决了:服务器上的文件夹结构就像本地文件夹一样,但我的所有内容都在子文件夹中……App_Code和App_Data必须位于服务器的根目录中。您可能需要在部署之前编译应用程序。目前,ASP.NET无法理解未附加到.aspx/.ascx文件的.cs文件。我建议您查看Web部署项目或使用VisualStudio2010的“发布”选项。ScottGuthrie给出了比我在这里更好的总结。以上是C#学习教程:ASP.NET网站看不到App_Code文件夹下.cs文件共享的所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注—本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: