Opracowaliśmy duże rozwiązanie zawierające ~ 35 projektów z VS 2010, teraz myślimy o migracji do VS 2012 Ultimate. Konwertowałem plik rozwiązania na VS 2012 i ogólnie wszystko działa poprawnie.Visual Studio 2012: Projekt nie może być odwołany
Ale ilekroć otwieram rozwiązanie, mam pewne ostrzeżenia na pewien projekt jest w roztworze: „Projekt X nie można odwoływać” „Projekt Y nie może być określany” ... gdzie A ma referencje projektu do X i Y. Kiedy buduję rozwiązanie, dostaję błędy, że metadane każdej odpowiedniej biblioteki DLL nie mogą zostać znalezione.
Kiedy patrzę na referencje w eksploratorze rozwiązań, są one oznaczone żółtym symbolem ostrzegawczym. Gdy tylko kliknę referencję, ostrzeżenie zniknie, a ikona będzie wyglądać normalnie. Wtedy mogę budować bez błędów!
Problem występuje za każdym razem, gdy otwieram rozwiązanie, projekty, których dotyczy problem, są zawsze takie same.
Czy ktoś jeszcze doświadczył tego dziwnego zachowania? Ponowne usunięcie i dodanie odniesień do projektu nie pomogło ...
Z góry dziękuję.
EDIT: Sprawdziłem plik csproj projektu odsyłania i zastanawiam się, czy wszystkie GUID referencyjne projekt o powyższym problemem są pisane małymi literami, pozostałe projekty są duże litery.
<ProjectReference Include="..\Presentation.Net\Presentation.Net.csproj">
<Project>{04004c6b-76c8-4f2d-9fcf-5a866bb80fd4}</Project>
<Name>CMS.Presentation.Net</Name>
</ProjectReference>
Podczas gdy w roztworze identyfikatory GUID są duże litery:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Presentation.Net", "Presentation.Net\Presentation.Net.csproj", "{04004C6B-76C8-4F2D-9FCF-5A866BB80FD4}"
pomysłów?
Czy referencje są częścią tego samego rozwiązania? Czy może to dotyczyć czystego rozwiązania, z tymi projektami, które nie są dostępne, dopóki kompilacja nie zostanie wykonana? –
Wymienione projekty są w tym samym rozwiązaniu, co projekt odniesień. W każdym razie nigdy nie miałem takich problemów z VS10, a struktura rozwiązania nie zmieniła się od tego czasu. Czyszczenie roztworu nie pomaga. – mbue
Należy unikać wywoływania VS2012 tylko VS12. Jest to przeciwieństwo problemu, który powodował, że ludzie nazywają go (gdy był w wersji Beta) VS2011, ponieważ jego numer wersji * to * 11. Tak więc, jeśli/kiedy jest V.Next z Visual Studio, jest to prawdopodobne (podczas gdy Beta) nazywać się Visual Studio 12. –