我在一个解决方案中有一个类库项目和MVC项目。
我的类库有名称空间MyStuff.Classes
我的MVC项目有名称空间MyStuff.Web
我似乎无法直接或使用using指令从mvc项目中访问我的类库,反之亦然?
在这种情况下使用命名空间的最佳方法是什么?一般情况下?任何提示提示欢迎。
由于
答案 0 :(得分:5)
您需要添加对Class项目的引用
如果右键单击MVC项目中的引用,请点击Projects
选项卡以轻松添加对Class项目的引用。
答案 1 :(得分:2)
这取决于您希望在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>" %>
答案 2 :(得分:0)
在您已经在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
您现在可以使用类库中的类。
这是我为了引用类库项目中的类而必须做的事情,所以我可以使用数据类型&#34; HttpPostedFileBase&#34;因为我无法使用&#34; System.Web.Abstractions&#34;在我的班级图书馆(it was not being referenced and I could not resolve it with this solution)。
如果有人遇到这种奇怪的情况,我希望这会有所帮助。