【发布时间】:2009-07-13 19:23:24
【问题描述】:
我在一个解决方案中有一个类库项目和 MVC 项目。
我的类库有命名空间 MyStuff.Classes
我的 MVC 项目有命名空间 MyStuff.Web
我似乎无法直接或使用 using 指令从 mvc 项目访问我的类库,反之亦然??
在这种情况下使用命名空间的最佳方式是什么?一般来说?欢迎任何提示。
谢谢
【问题讨论】:
标签: visual-studio-2008 namespaces
我在一个解决方案中有一个类库项目和 MVC 项目。
我的类库有命名空间 MyStuff.Classes
我的 MVC 项目有命名空间 MyStuff.Web
我似乎无法直接或使用 using 指令从 mvc 项目访问我的类库,反之亦然??
在这种情况下使用命名空间的最佳方式是什么?一般来说?欢迎任何提示。
谢谢
【问题讨论】:
标签: visual-studio-2008 namespaces
您需要添加对您的 Class 项目的引用
如果您在 MVC 项目中右键单击引用,请点击Projects 选项卡以轻松添加对您的 Class 项目的引用。
【讨论】:
这取决于您希望在 MVC 项目中的哪个位置访问此类库。首先,您需要添加对类库的项目引用。从模型或控制器访问它应该是微不足道的。
为了在视图中访问它,您需要将以下内容添加到您的 web.config:
<pages>
<namespaces>
<add namespace="MyStuff.Classes"/>
</namespaces>
</pages>
然后你可以强输入你的视图:
<%@ Page Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<MyStuff.Classes.MyClass>" %>
【讨论】:
如果你已经在你的MVC项目中引用了类库,你可能会得到如下错误:
由于循环依赖错误,无法添加对项目的引用
如果您尝试在类库中引用 MVC 项目。您将无法将该项目添加为对您的项目的引用。原因在这里解释:Cannot add reference to project because of a circular dependency error
您可以将其添加到 MVC 项目中,而不是将类添加到类库项目中。那么你所要做的就是添加:
using MyStuff.Classes; //Or the name of your class being referenced
您现在可以使用类库中的类。
这是我必须做的,以便在我的类库项目中引用一个类,这样我就可以使用数据类型“HttpPostedFileBase”,因为我不能在我的类库中使用“System.Web.Abstractions”(@987654322 @)。
如果有人遇到这种奇怪的情况,我希望这会有所帮助。
【讨论】: