Nie można znaleźć nazwy typu lub przestrzeni nazw [duplikat]

To pytanie ma już odpowiedź tutaj:

Mam rozwiązanie C# z kilkoma projektami w Visual Studio 2010. Jeden to projekt testowy (nazwę Go " PrjTest"), drugi to projekt Windows Forms Application (nazwę Go " PrjForm"). Istnieje również trzeci projekt, do którego odnosi się PrjForm, który jest w stanie z powodzeniem odwoływać się i wykorzystywać.

PrjForm reference PrjTest , and PrjForm has a class with ausing statement:

using PrjTest;
  1. odniesienie zostało poprawnie dodane
  2. using oświadczenie jest prawidłowe
  3. ortografia jest poprawna
  4. PrjTest buduje z powodzeniem
  5. PrjForm prawie buduje, ale łamie na linii using PrjTest; z błąd:

nie można znaleźć nazwy typu lub przestrzeni nazw "PrjTest" (brakuje Ci dyrektywy używającej lub odniesienia do złożenia?)

Próbowałem rozwiązać ten problem:

    W 2004 roku, w ramach projektu, Resharper został przeniesiony do Nowego Jorku, a w 2006 roku do Nowego Jorku.]}
  1. usunięto i ponownie dodano odniesienie i używając instrukcji
  2. odtworzony PrjForm od podstaw
  3. PrjForm obecnie znajduje się w folderze PrjTest, próbowałem przenieść go do folderu zewnętrznego
  4. załadował rozwiązanie na inny komputer ze świeżą kopią VS 2010

Odrobiłem pracę domową i spędziłem zbyt długo szukając odpowiedzi w Internecie, żadne z rozwiązań jeszcze nie pomogło.

Czego jeszcze mógłbym spróbować?

Author: Vikrant, 2011-01-22

16 answers

Zobacz to pytanie .

Okazało się, że to był problem z profilowaniem klienta.

PrjForm został ustawiony na". Net Framework 4 Client Profile" Zmieniłem go na". Net Framework 4", a teraz mam udaną kompilację.

Dzięki wszystkim! Domyślam się, że po tym czasie spędzonym na szukaniu w Internecie, znajduję rozwiązanie kilka minut po opublikowaniu, myślę, że sztuczka polega na Poznaniu właściwego pytania..

 675
Author: Anders,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:25

W moim przypadku miałem:

.NET 4.5

Projekt: .NET 4.0

Z powodu powyższego niedopasowania, projekt 4.0 nie mógł zobaczyć wewnątrz przestrzeni nazw 4.5 .DLL. Przekompilowałem .DLL do celu. NET 4.0 i było w porządku.

 38
Author: DeepSpace101,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-28 04:01:54

PrjForm został ustawiony na". Net Framework 4 Client Profile "zmieniłem go na". Net Framework 4" , a teraz mam udaną kompilację.

To też zadziałało. Wielkie dzięki. Próbowałem przykład RDF dla dotNet gdzie w pobrałem kit z dotnetrdf.

Profil klienta NET4: Zawsze kieruj profil klienta NET4 do wszystkich aplikacji klienckich (w tym aplikacji Windows Forms i WPF).

NET4 Full framework: Target NET4 Full tylko wtedy, gdy funkcje lub złożenia, których potrzebuje aplikacja, nie są uwzględniane w profilu klienta. Obejmuje to: Jeśli budujesz aplikacje serwerowe, takie jak:

  • ASP.Net aplikacje
  • Server-side ASMX based web services

Jeśli używasz starszych scenariuszy klienta, takich jak: O Użyj systemu.Data.OracleClient.dll, który jest przestarzały w NET4 i nie jest zawarty w profilu klienta.

  • użyj legacy Windows Workflow Fundacja 3.0 lub 3.5 (WF3.0 , WF3.5)

Jeśli kierowanie scenariuszy deweloperów i potrzebują narzędzi, takich jak MSBuild lub potrzebują dostępu do zespołów projektowych, takich jak System.Design.dll

 38
Author: Dee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:33

Kolejną rzeczą, która może powodować ten błąd jest posiadanie pakietów NuGet, które zostały zbudowane z nowszą wersją .NET.

Oryginalny błąd:

frmTestPlanSelector.cs(11,7): error CS0246: The type or namespace name 'DatabaseManager' 
could not be found (are you missing a using directive or an assembly reference?) 

Dalej w dzienniku znalazłem to:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3275: The primary reference "[redacted]\DatabaseManager\bin\Release\DatabaseManager.dll" could not be resolved because it has an indirect dependency on the assembly "System.Data.SQLite, Version=1.0.94.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" which was built against the ".NETFramework,Version=v4.5" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0".

Rozwiązaniem było ponowne zainstalowanie pakietów NuGet:

Http://docs.nuget.org/docs/workflows/reinstalling-packages

 28
Author: Miebster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-15 02:56:27

Rozwiązałem swój, ponieważ drugi projekt był zakodowany z. NET 4.5, a drugi był zakodowany 4.0

 27
Author: kurdapya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-09 13:41:07

Możliwe jest również, że odwołane projekty są skierowane na. Net 4.0, a projekt aplikacji konsolowej na. Net 4.0 Client Library.

Chociaż może nie było to związane z tym konkretnym przypadkiem, myślę, że ktoś inny może znaleźć te informacje przydatne.

 4
Author: Sebastian Zaklada,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-31 23:48:27

Napotkałem ten problem, który okazał się być.

Projekt B referencje projekt A.

Projekt a skompilowany jako A.dll (assembly name = A).

Projekt B skompilowany jako A.dll (nazwa zgromadzenia A).

Visual Studio 2010 tego nie łapało. Resharper był w porządku, ale nie chciał się skompilować. Projektant WinForms podał mylący komunikat o błędzie, który prawdopodobnie wynika z niezrozumiałych celów platformy.

Rozwiązaniem, po bolesnym dniu, było upewnienie się, że nie mają to samo imię.

 4
Author: Herman Schoenfeld,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-03 07:05:00

Instrukcja using odnosi się do przestrzeni nazw , a nie do projektu .

Upewnij się, że masz odpowiednio nazwaną przestrzeń nazw w projekcie:

namespace PrjTest
{
     public class Foo
     {
          // etc...
     }
}

Przeczytaj więcej o przestrzeniach nazw na MSDN:

 3
Author: Mark Byers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-21 23:40:44

Miałem ten sam problem. Ramy docelowe były dla mnie w porządku. Nadal nie działało. Zainstalowałem VS2010 sp1 i zrobiłem "przebudowę" na PrjTest. Potem zaczęło mi działać.

 3
Author: saju,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-30 12:40:10

Skompilowana biblioteka dll powinna mieć klasę publiczną.

 3
Author: Peter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-24 06:14:26

Zmiana frameworka na

.NET Framework 4 Client Profile
Wykonałem robotę za mnie.
 2
Author: Radix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-01 03:17:49

Dla odniesień COM/ActiveX, VS 2012 pokaże ten błąd bezpośrednio przy użyciu instrukcji. Co jest dość zabawne, ponieważ mówi, że może być brakuje użytecznego Oświadczenia.

Aby rozwiązać ten problem: zarejestruj rzeczywistą bibliotekę COM / ActiveX dll, nawet jeśli znajduje się ona w projekcie sąsiada, i dodaj referencję poprzez kanał COM, a nie kanał projektu. Doda Interop.Nazwa projektu zamiast nazwy projektu jako odniesienie i to rozwiązuje ten dziwny błąd.

 2
Author: Rachel Henderson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-21 17:30:25

Jeśli twój projekt (PrjTest) nie wyświetla żadnych typów publicznych w przestrzeni nazw PrjTest, spowoduje to ten błąd.

Czy projekt (PrjTest) zawiera jakieś klasy lub typy w przestrzeni nazw" PrjTest", które są publiczne?

 1
Author: Reed Copsey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-22 00:48:51

Właśnie zmieniłem docelowy framework aplikacji na". Net Framework 4".

I błąd zniknął.

Powodzenia; : D

 1
Author: Hamed MotallebiNejad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-04 10:28:37

Sprawdź właściwości projektu, ścieżki referencyjne powinny być puste w ten sposób:

Właściwości Projektu

Pozdrawiam

 1
Author: Luis Rodriguez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-03 22:34:34

Innym problemem, który może być przyczyną takiego zachowania są konfiguracje budowania.

Miałem dwa projekty z konfiguracjami ustawionymi do budowania konkretnych folderów. Jak Debug i Any CPU, a w drugim było to Debug i x86.

Co zrobiłem poszedłem do Solution->Context menu->Properties->Configuration properties->Configuration i ustawiłem wszystkie moje projekty, aby używały tych samych konfiguracji Debug i x86, a także sprawdziłem Build zaznacz znak.

Następnie projekty zaczęły poprawnie budować i były w stanie zobaczyć przestrzenie nazw.

 1
Author: Mateusz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-23 14:25:20