Asp.net mvc 关于ASP.NETMVC和帮助程序类的单独项目的另一个问题

Asp.net mvc 关于ASP.NETMVC和帮助程序类的单独项目的另一个问题,asp.net-mvc,Asp.net Mvc,我知道这个话题已经讨论得不可开交了,但有一件事我无法理解 我正在使用ASP.NET MVC开发一个Web应用程序,我遇到了一个需要助手类的场景(这通常发生在开发的早期阶段。因此,我继续在我的解决方案中创建一个助手项目,用于管理我的所有助手类) 现在,我是否必须在每次对is进行更改时构建该项目并将dll转储到bin目录中,或者是否有方法让主web应用程序引用单独项目中包含的类,而无需单独的构建过程 我只是在寻找一种最简单的方法来添加助手类,而不必在每次更改或添加时匆忙地构建和移动dll 另外,很抱

我知道这个话题已经讨论得不可开交了,但有一件事我无法理解

我正在使用ASP.NET MVC开发一个Web应用程序,我遇到了一个需要助手类的场景(这通常发生在开发的早期阶段。因此,我继续在我的解决方案中创建一个助手项目,用于管理我的所有助手类)

现在,我是否必须在每次对is进行更改时构建该项目并将dll转储到bin目录中,或者是否有方法让主web应用程序引用单独项目中包含的类,而无需单独的构建过程

我只是在寻找一种最简单的方法来添加助手类,而不必在每次更改或添加时匆忙地构建和移动dll


另外,很抱歉这里有一个非常新的问题。我过去构建的所有web应用都在同一个项目中(web表单、应用程序代码等)。

您可以将您的帮助程序项目和MVC项目合并到一个解决方案中。
在解决方案资源管理器中,只需右键单击解决方案名称并选择“添加现有项目”。这将允许您将现有项目添加为整个解决方案的一部分。完成后,您可以使用解决方案中的其他项目添加对项目的引用。无需dll副本,只需构建解决方案和准备就绪即可。

您可以将助手项目和MVC项目合并到一个解决方案中。
在解决方案资源管理器中,只需右键单击解决方案名称并选择“添加现有项目”。这将允许您将现有项目添加为整个解决方案的一部分。完成后,您可以使用解决方案中的其他项目添加对项目的引用。无需dll副本,只需构建解决方案和准备就绪即可。

您应该能够引用Visual Studio中单个解决方案中的同级项目——假设您使用的是Visual Studio。请尝试右键单击引用,然后选择“添加项目引用”


如果您不使用Visual Studio,设置生成自动化工具以将新编译的DLL复制到多个目标位置是生成自动化方面最常见的操作之一。

您应该能够在Visual Studio的单个解决方案中引用同级项目(假设您使用的是Visual Studio)。尝试右键单击引用,然后选择“添加项目引用”


如果您不使用Visual Studio,设置生成自动化工具以将新编译的DLL复制到多个目标位置是生成自动化方面最常见的操作之一。

您只需在与web应用相同的解决方案中创建另一个项目。在web应用中,右键单击“引用”,然后选择“添加引用”埃伦斯

然后,您将看到一个标签为“项目”的选项卡。选择为类创建的项目。dll复制(如有必要)将在每个(解决方案)生成时自动进行

也就是说,我更喜欢将HTML助手放在web应用程序中。它们依赖于MVC,我不认为类库应该依赖于事物的“web”方面。但这只是一种偏好


(我通常将数据和模型放在一个单独的项目中。)

您只需在与web应用相同的解决方案中创建另一个项目即可。在web应用中,右键单击“引用”,然后选择“添加引用…”

然后,您将看到一个标签为“项目”的选项卡。选择为类创建的项目。dll复制(如有必要)将在每个(解决方案)生成时自动进行

也就是说,我更喜欢将HTML助手放在web应用程序中。它们依赖于MVC,我不认为类库应该依赖于事物的“web”方面。但这只是一种偏好


(我通常把数据和模型放在一个单独的项目中。)

你说的助手类是什么意思?你真的不应该有太多在你的体系结构中不代表某个概念的类。是的,有时候有一个类(或方法)是有意义的这只是为各种类提供了某种通用功能,但通常您希望您的类表示某种概念。如果您有许多类只能归类为“帮助器”,那么在我看来,这是一种代码味道,您可能正在编写过程性代码,而不是面向对象的代码


哦,为了回答您的问题,只要它们在同一个解决方案中,您就应该能够添加一个项目引用。Visual Studio将在您进行更改时根据需要重新生成项目并更新引用。

您所说的帮助器类是什么意思?您真的不应该有太多不可重复的类在您的体系结构中重新表达一些概念。是的,有时有一个类(或方法)只为各种类提供某种通用功能是有意义的,但通常您希望您的类表示一些概念。如果您有很多类,您只能将其归类为“帮助器”,依我看,这是一种代码味道,您可能正在编写过程性代码,而不是面向对象的代码


哦,为了回答您的问题,只要它们在同一个解决方案中,您就应该能够添加一个项目引用。Visual Studio将在您进行更改时,根据需要重新生成您的项目并更新引用。

这太好了,谢谢。显然,我在接下来的9分钟内无法接受您的回答……这太棒了太好了,谢谢。很显然,我不能再接受你的回答9分钟……谢谢。注意,我不是指HTML帮助者,而是一般的帮助者,比如“代码> GETUSEDATABOR/<代码>,<代码> SeNemail E/COD>等等。如果这些帮助器是通过解决方案共享的,你可以考虑在你的解决方案文件夹W中创建一个/LIB文件夹。