質問

定のインスタンス System.Reflection.Assembly.

役に立ちましたか?

解決

できません。何も指定し"ルート"namespace.デフォルトの名前空間のオプションはvisual studioのものものではない。当期純物

他のヒント

していくことで、このジレンマをたっぷりの時にはたいへの負荷の資源からの電流による組立マニフェスト資源ストリームです。

この場合は埋め込みファイルを資源として、お客様組立をVisual Studioそのマニフェストのリソース名のままであることから導き出されるデフォルト名前空間の組み立て定義されているVisual Studioプロジェクト.

最良の解決策んだけhardcodingデフォルトの名前空間の文字列としてどこかには単純に貴リソース読み込みコードは常に起きてから内部クラスのもののデフォルト名前空間で、これにより,以下のような近汎用プロトコルを使用します。

この例では荷重の組み込みスキーマ.

XmlSchema mySchema;
string resourceName = "MyEmbeddedSchema.xsd";
string resourcesFolderName = "Serialisation";
string manifestResourceName = string.Format("{0}.{1}.{2}",
    this.GetType().Namespace, resourcesFolderName, resourceName);
using (Stream schemaStream = currentAssembly.GetManifestResourceStream(manifestResourceName))
    mySchema = XmlSchema.Read(schemaStream, errorHandler);

参照: どのように名前空間の組み立て?

編集:も非常に細かに対して、はっきりした答えは私の答えで http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/3a469f5d-8f55-4b25-ac25-4778f260bb7e

別編集の場合の人々と同じ問題に来てみ:優秀アイデアの資源-負荷質問はこちら どのようにデフォルト名前空間のプロジェクトcsproj(VS2008)

ができる任意の数の名前空間を与えられた組立も必要として開始からです。最できれば反映すべての種類のアセンブリを構築リスト独自の名前空間は、その中に含まれる.

アセンブリなって根の名前名前空間やアセンブリを直交の位置関係にするこ

何が求めている代わりにすることにより、型内に組み立て、データベース検索システムなどでは、その名前空間です。

対応することができるでしょうこのGetExportedTypes()会員としての名前空間内の物件の中から返されたタイプ。

ももいかなる保証のすべての種類と同じ名前空間(も同じ名前空間階層).

私が作成した空の内部クラスというルートに入れてのプロジェクトルート(このはインストール名前空間).らかにしていきたいと考えていころさんありがとうございます。ルートの名前空間:

typeof(Root).Namespace;

ずっと未使用のファイルです。

GetType(frm).Namespace

frm の起動形

車種 きのリスト タイプ オブジェに定義されます。そのオブジェクトには名前空間内の物件です。ること忘れずに組立できる複数の名前空間

名前空間を持たないセンブリー-他のマッピングを名前空間の授業に組み立ては純粋による命名規約(または偶然).

が実際には間接的に取得する列挙の名前組み立てのマニフェスト。はい終わるのです。

を繰り返すのではなく、コードはこちらをご覧ください 取得デフォルト名前空間の名前。GetManifestResourceStream()メソッド

使ってい typeof(App).Namespace 私のコンポーネントのラインナップ。アプリクラスは、条件に必須コンポーネントのラインナップの応用であります。

の問題になって水揚げされた私たちが呼びかけライブラリコードNの方法の深い名前空間のプロジェクトは、例えば、WEBアプリの実行の行き方を教えてください。

少しhackyができるだけで掴stacktrace、フィルタ:

    public static string GetRootNamespace()
    {
        StackTrace stackTrace = new StackTrace();
        StackFrame[] stackFrames = stackTrace.GetFrames();
        string ns = null;
        foreach(var frame in stackFrames)
        {
            string _ns = frame.GetMethod().DeclaringType.Namespace;
            int indexPeriod = _ns.IndexOf('.');
            string rootNs = _ns;
            if (indexPeriod > 0)
                rootNs = _ns.Substring(0, indexPeriod);

            if (rootNs == "System")
                break;
            ns = _ns;
        }

        return ns;
    }

これらはすべて、やっては、stacktrace、下の方法から最近ではと呼ばれるルート、フィルタリングシステム。一度に発見されたシステム呼び出しがあったことを知っかりすぎを返します名前空間のすぐさまでそびえているからです。ションに関わらずユニット試験は、簡単にアプリやサービス、システムは、コンテナは今まで座って1レベル以深のルート名前空間のプロジェクトで、出来上がり.

一部のシナリオのシステムコードは、仲介などのシステム。タスクの跡私たちの社会における音楽を返し間違った答えです。私の目標に取り込んだものであったが、例えば一部の起動時にコードを及ぼす場合がありますのでべてのクラスまたはコントローラーなどのルート名前空間である場合でも、コードのカに図書室があります。この達成が課題です。

っていると確信してい改善することができ-いhackyの仕事ぶりに改善することができなど、多くの改善を歓迎する。

加その他の回答をこちらのような繰り返しの情報はこちらかは、この利用Linq.私の状況はLisaの答えです。

私の解決に付属の以下の注意事項:

  • まVisual Studio、ルート名前空間に定義されたプロジェクトは、いうまいのために使用しますので、"ルート名前空間"
  • ませんの埋め込みinterop種類から参照されるアセンブリ
Dim baseNamespace = String.Join("."c,
    Me.GetType().Assembly.ManifestModule.GetTypes().
        Select(Function(type As Type)
                    Return type.Namespace.Split("."c)
                End Function
        ).
        Aggregate(Function(seed As String(), splitNamespace As String())
                        Return seed.Intersect(splitNamespace).ToArray()
                    End Function
        )
)

こちらとして近くで見ると、グラデーションのようにルートの名前空間のためのサイト。

''' <summary>
''' Returns the namespace of the currently running website
''' </summary>
Public Function GetWebsiteRootNamespace() As String
    For Each Asm In AppDomain.CurrentDomain.GetAssemblies()
        If Asm Is Nothing OrElse Asm.IsDynamic Then Continue For

        For Each Typ In Asm.GetTypes
            If Typ Is Nothing OrElse Typ.Name Is Nothing Then Continue For
            If Typ.Name = "MyProject" Then Return Typ.Namespace.Split("."c)(0)
        Next
    Next

    Return Nothing
End Function

では、このメソッドは単純チェックすべてのロードセンブリーのための"MyProject"タイプを返しますルート名前空間パターンを示すことが分かった。これはログイン時に複数のwebプロジェクトを単一の解が共有ログシステム。武器agiは、dexで下がらないboxerぐ人がいる。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top