Der Typ 'X' existiert nicht in der Art 'Y. Z'

Unser team hat vor kurzem migriert von Visual Studio 2008/.NET3.5 Visual Studio 2010/.NET4.0. Nun, VS2010 gibt mir eine seltsame Fehlermeldung. Es ist reproduzierbar mit dem folgenden Programm:

using System;

namespace Some.Main
{
}

namespace SomeLib
{
    interface Some
    {
    }
}

namespace ConsoleApplication1
{
    using Some.Main;
    using SomeLib;

    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Press enter to continue");
            Console.ReadLine();
        }
    }
}

Diese funktioniert nur in VS2008, aber in VS2010 bekomme ich die folgende Fehlermeldung:

Den Typ Namen 'Main' existiert nicht in der Art " SomeLib.Einige'

Interessanterweise, wenn ich auf "Build Solution", die das Programm baut ganz gut, und ich kann sogar führen Sie es ohne Probleme. Es ist nur Visual Studio, die zu haben scheint ein problem mit diesem code.

Leider, ich arbeite an einem groß-ish legacy-Anwendung, und ich kann nicht (leicht) ändern Sie die Namen dieser namespaces.

Ich würde gerne wissen, wie ich diese Fehler beheben kann, und ich bin auch gespannt, was es bewirkt.

  • versuchen using global::Some.Main;
  • Es ist schon komisch. Dass der genaue code, kompiliert auf Mono (die Letzte). Aber auf Visual Studio 2010 ist es nicht
  • Es ist sogar noch schlimmer, denn auf Visual Studio 2008 kompiliert auch.
  • ideone verwendet Mono für C#. Finden Sie hier Ihren code kompiliert fine ideone.com/zmLCO
  • vielleicht fragt Eric Lippert ist eine gute Idee. Er könnte erklären, die Diskrepanz
  • Ich denke, Sie haben einen bug gefunden auf Visual Studio 2010 ツ Sprache-klug, Ihr code ist vollkommen gültig, es selbst baut

InformationsquelleAutor jqno | 2012-06-05
Schreibe einen Kommentar