2009-07-13 6 views
1

私はクラスライブラリプロジェクトとMVCプロジェクトを1つのソリューションに用意しています。MVCプロジェクトからクラスライブラリにアクセスできますか?

私のクラスライブラリは、私のMVCプロジェクトは、名前空間のMyStuff.Web

を持って

私はその逆、直接またはでMVCプロジェクトまたはviceから私のクラスライブラリにアクセスすることができないよう、名前空間MyStuff.Classesを持っています使用ディレクティブ?

このインスタンスで名前空間を使用するにはどうすればよいですか?一般的には?ヒントヒントを歓迎します。あなたは右のあなたのMVCプロジェクト内の参照をクリックすると、あなたのクラスのプロジェクト

への参照を追加する必要があります

おかげ

答えて

5

は簡単にクラスのプロジェクトへの参照を追加するProjectsタブを押してください。

+0

ありがとう、私は明らかに私はそれを考えなかった! –

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>" %> 
0

シナリオではその既にMVCプロジェクトのクラスライブラリを参照している場合、次のようなエラーが発生することがあります。

projへの参照を追加できません循環依存エラーのために発生する

クラスライブラリでMVCプロジェクトを参照しようとすると、エラーが発生します。そのプロジェクトをプロジェクトへの参照として追加することはできません。これについては、ここで説明します。Cannot add reference to project because of a circular dependency error

クラスをクラスライブラリプロジェクトに追加する代わりに、MVCプロジェクトに追加できます。

using MyStuff.Classes; //Or the name of your class being referenced 

これでクラスライブラリのクラスを使用できるようになりました。

これは私のクラスライブラリプロジェクト内でクラスを参照するために必要だったので、私は "System.Web.Abstractions"を使用することができなかったので、データ型 "HttpPostedFileBase"を使用することができました。it was not being referenced and I could not resolve it with this solution )。

誰かがこの奇妙なシナリオに遭遇した場合に役立ちます。

関連する問題