Mam projekt usługi danych WCF zbudowany przy użyciu programu Visual Studio 2010, który działał dobrze. Nagle przestało się kompilować. Dał mi takie wiadomości jak:
Błąd 7 Typ lub nazwa przestrzeni nazw „Usługi” nie istnieje w przestrzeni nazw „System.Data” (brakuje odniesienia do zestawu?) C: \ U ... s \ Visual Studio 2010 \ Projects ... \ DataService. cs ...
Błąd 8 Typ lub nazwa przestrzeni nazw „Linq” nie istnieje w przestrzeni nazw „System” (brakuje odniesienia do zestawu?) DependencyResolver.cs 3 14
Błąd 10 Typ lub nazwa przestrzeni nazw „Web” nie istnieje w przestrzeni nazw „System.ServiceModel” (brakuje odniesienia do zestawu?)
Błąd 12 Nie można znaleźć nazwy typu lub przestrzeni nazw „DataService” (brakuje dyrektywy używającej lub odwołania do zestawu?)
Jak mogę to naprawić?
źródło
Odpowiedzi:
Miałem ten sam problem i musiałem ustawić „docelowe ramy” wszystkich projektów, aby były takie same. Potem wszystko poszło dobrze. W menu Project kliknij polecenie ProjectName Properties. Kliknij kartę kompilacji. Kliknij Zaawansowane opcje kompilacji. W strukturze docelowej wybierz żądaną strukturę.
źródło
Miałem problem z nierozpoznaniem System.Linq .
using
Oświadczenie miał czerwony falowane, itd. Sposób Rozwiązałem to było zmienić moją stronę do docelowej dotnet 3.5, a następnie powrócić do pierwotnego ukierunkowanego ram (4,0 w moim przypadku).źródło
System.Linq
za prawidłową bibliotekęOdkryłem, że jest to spowodowane tym, że mam taką samą nazwę przestrzeni nazw jak nazwa klasy (
MyWorld.MyWorld = Namespace.ClassName
).Zmień przestrzeń nazw na inną niż nazwa twojej klasy, a to się skompiluje.
Źródło
źródło
Windows.Whatever
zglobal::
Ten sam problem z witryną ASP.NET MVC napotkałem, gdy próbowałem użyć LINQ do SQL . Rozwiązałem problem przez:
Solution Explorer -> References -> Kliknij prawym przyciskiem myszy System.Data.Linq -> Kopiuj lokalnie (True)
źródło
Sprawdź, czy docelowa struktura ma te same wersje .NET. Miałem ten sam problem, a moja klasa .NET miała 3.5, a rozwiązanie internetowe 4.5. Zsynchronizowałem je, a potem zadziałało :)
źródło
Miałem ten sam problem i wypróbowałem wszystkie powyższe bez powodzenia, a potem dowiedziałem się, co to było:
Utworzyłem folder o nazwie „System” w jednym z moich projektów, a następnie utworzyłem w nim klasę. Problem wydaje się wynikać z posiadania przestrzeni nazw o nazwie „System” podczas tworzenia pliku .cs, nawet jeśli znajduje się ona w przestrzeni nazw „MyProject.System”.
Patrząc wstecz, rozumiem, dlaczego spowodowałoby to problemy. Naprawdę mnie zaskoczyło, ponieważ komunikaty o błędach początkowo nie wydają się odnosić do problemu.
źródło
Mam taki sam problem z System.Data.SQLite. Źródłem problemu jest to, że dll, którego użyłeś, powinien mieć tę samą wersję .NET z twoim projektem.
Na przykład, jeśli użyłeś (w moim przypadku) SQLite dla .NET 4.5, docelową platformą powinien być również .NET 4.5.
Cel platformy można znaleźć: Projekt> (nazwa projektu) Właściwości> Kompilacja.
źródło
W moim przypadku problem występował, ponieważ utworzona przeze mnie klasa miała przestrzeń nazw, która kolidowała z istniejącymi klasami. Nowa klasa A miała przestrzeń nazw zz.yy.xx (przez pomyłkę). Odwołania do obiektów w innej przestrzeni nazw yy.xx nie były kompilowane w klasie A lub innych klasach, których przestrzenią nazw był zz.
Zmieniłem przestrzeń nazw klasy A na yy.xx, która powinna być, i zaczęła działać.
źródło
DLA KAŻDEGO Z PODŁĄCZONYMI PLIKAMI: Miałem ten problem i korzystałem z Silverlight, a szkodliwy plik zgłaszający ten błąd był plikiem połączonym.
Błąd kompilatora powiedział mi, że wystąpił błąd w projekcie, w którym mieszkał plik. Skończyło się to tym, że błąd NIE był w tym projekcie, ale występował w projekcie, który zawierał połączony plik. W projekcie brakowało referencji.
źródło
Napotkałem ten problem podczas korzystania z Git Visual Studio integracji do zarządzania projektem. Z jakiegoś powodu projekt Windows Phone 8 kompilowałby się dobrze podczas celowania na x86, ale kiedy ustawię go na ARM, kompilacja nie powiedzie się z błędem wskazującym, że „Reklama” nie istniała w przestrzeni nazw Microsoft.
Rozwiązaniem problemu było usunięcie odwołania Microsoft.Advertising. *. Dll i dodanie go ponownie.
źródło
W moim przypadku projekty nie uległy zmianie, po prostu przestało się kompilować i „typ lub nazwa przestrzeni nazw XXX nie istnieje”, aw samej klasie narzekającej inteligencja dla tej przestrzeni nazw / klasy XXX działa dobrze. Problem był rzeczywiście w referencjach!
Kroki ku reprodukcji:
Rozwiązanie ma ProjectA, ProjectB. ProjectA odwołuje się do log4net strony trzeciej i jest oznaczony
Copy local: true
. ProjectB odwołuje się do ProjectA i nie ma odniesienia do log4net. Rozwiązanie dobrze się kompiluje.Zmiana w ProjectA: właściwość referencyjna dla log4net na
Copy local: false
.This is because ProjectB
W folderze bin brakuje biblioteki innej firmy(log4net in my case)!
W takim przypadku rozwiązaniem byłoby -
Copy local: true
lubźródło
Odnoszę się do Microsoft.CommerceServer.Runtime.Orders i wystąpił ten błąd. Ten projekt jest stary i ma platformę docelową .NET 2.0. W wyniku miałem ten błąd:
Po prostu zmieniłem docelowy framework na .NET 4 i teraz on się buduje.
źródło
A jeśli wszystko inne zawiedzie, na przykład upewnienie się, że docelowe ramy są takie same, a masz do czynienia z biblioteką klas WPF w VS2010, po prostu uruchom ponownie program Visual Studio. To mi zrobiło.
źródło
type namespace error
zdarza. I ponownie uruchamiam Visual Studio, po ponownym uruchomieniu oryginalny błąd dll pokazuje się ponownie, czytałem go ponownie i budowałem ponownie, sukces.Wystąpiły te same błędy. Po tym, jak odkryłem, że mój projekt ma niewłaściwą nazwę zestawu (skopiowałem pliki z innego projektu, a przestrzenie nazw były trochę zdezorientowane) i zmieniłem go z powrotem, projekt ładnie się skompilował.
źródło
Otrzymałem bardzo podobny komunikat o błędzie, który został spowodowany przez nieumyślne wykonanie duplikatu klasy w innym projekcie mojego rozwiązania. Usunięcie duplikatu rozwiązało problem
źródło
Niedawno potrzebowałem Przywrócić system i spowodowało to zmianę / zniknięcie niektórych moich plików, nad którymi pracowałem od czasu przywracania. Niektóre z nich to pliki DLL. Użyłem Kontroli Źródła, aby pobrać cały projekt, ale nadal miałem podobny problem jak powyżej. Znalazłem tę odpowiedź która opisuje, że być może trzeba usunąć bibliotekę DLL i przeczytać ją, aby naprawić błędy. Tak było w moim scenariuszu.
Usunięcie
WebMatrix.WebData
i odczytanie go, a także dodanie poprawiłoWebMatrix.Data
mój błądThe type or namespace name 'Data' does not exist in the namespace 'WebMatrix' ...
.źródło
Usuń plik .refresh.dll, jeśli masz kontrolę źródła. Następnie odbuduj. To powinno działać. To zadziałało dla mnie
źródło