[英]Migrating from ASP.NET 4 website project to web application project in Visual Studio 2010 Causing all controls to throw error?
[英]Where do I put classes when using Web Application project type of Visual Studio .NET instead of Website? (ASP.NET)
我有很多在Visual Studio中创建ASP.NET网站的经验。 但是有一种替代方法可以通过Web应用程序执行相同的操作,Web应用程序的文件结构略有不同。
由于我创建了我的第一个Web应用程序,我不再使用App_Code文件夹中的类(.cs文件),除非被移动到同一个文件,否则它们不会被ASPX和ASHX类看到。
碰巧我在许多文件中使用相同的类,我不想拥有它们的多个副本。 我把这些课程放在哪里? 有没有创建另一个项目的解决方案?
我们一直在VS 2008中为所有项目使用Web应用程序项目类型,并将我们的公共类放在AppCode文件夹而不是App_Code文件夹中。 它工作得很好,我们在应用程序的所有页面上访问我们的类,没有任何问题。
使用Web应用程序项目,您可以获得更多自由。 只需在项目下创建子文件夹即可保存您的课程。 例如,您可以使用名为“DAL”的文件夹来保存数据访问层项目。
或者,您可以创建一个程序集项目并将您的类放在那里,只需从您的WAP中引用它。
最终,结构将归结为您将拥有多少课程。
你为什么不想创建另一个项目? 这将是最简单的方法,因为您的所有类都将放置在该程序集中,您可以在Web应用程序中进行项目引用,然后可以访问整个项目中的所有内容。
我强烈建议您考虑这种方法。
我将/Shared/Classes
用于整个站点中使用的通用类。 我喜欢将其余的类放在Classes文件夹中,使用它们,例如/blog/Classes/
。
- 编辑 -
上面的答案是我如何在Web窗体应用程序项目中存储类。 现在,我使用MVC,我存储在通用类/Classes
下的子文件夹和非通用类/Classes
如/Classes/Blog
。 简而言之, Old_App_Code
已重命名为Classes
。 这似乎是我看到微软在MVC中使用的命名约定的自然扩展,而且它也适用于我的旧Web窗体页面。
我通常在解决方案中有三个项目。 Web应用程序,Web库(基页等)和DAL。 这可以保持一切清洁。
把它们放在你想要的任何地 我倾向于将小项目特定的帮助程序类和基页保存在Web项目下的/ Helpers文件夹中,但是将DataLayer的东西和通用的可重用帮助程序拆分到它们自己的单独项目中。
我强烈建议您将所有类(域对象)放在一个单独的项目中。 这样,您就可以轻松地针对业务层(域对象)编写测试,并且您的类将是可移植的。 便携式意味着您可以将DLL发送给其他开发人员,他/她可以轻松地重用您开发的类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.