Nie można znaleźć nazwy typu lub przestrzeni nazw [duplikat]
To pytanie ma już odpowiedź tutaj:
- uzyskanie "type lub namespace name could not be found", ale wszystko wydaje się w porządku? 30 odpowiedzi
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;
- odniesienie zostało poprawnie dodane
-
using
oświadczenie jest prawidłowe - ortografia jest poprawna
- PrjTest buduje z powodzeniem
- 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.]}
- usunięto i ponownie dodano odniesienie i używając instrukcji
- odtworzony PrjForm od podstaw
- PrjForm obecnie znajduje się w folderze PrjTest, próbowałem przenieść go do folderu zewnętrznego
- 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ć?
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..
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.
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
To też zadziałało. Wielkie dzięki. Próbowałem przykład RDF dla dotNet gdzie w pobrałem kit z dotnetrdf.PrjForm został ustawiony na". Net Framework 4 Client Profile "zmieniłem go na". Net Framework 4" , a teraz mam udaną kompilację.
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
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:
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
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.
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ę.
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:
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ć.
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ą.
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 ProfileWykonałem robotę za mnie.
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.
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?
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
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:
Pozdrawiam
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.
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