2010-05-28 7 views
18

Właśnie zainstalowałem Visual Studio 2010 i konwertowałem jeden z moich projektów Visual Studio 2008 WPF do testowania. Choć projekt buduje i działa poprawnie, projektant VS nie może obsługiwać niestandardowe odwzorowania przestrzeni nazw Mam dające błąd:Niestandardowe odwzorowania przestrzeni nazw WPF nie powiodło się w Visual Studio 2010

Assembly must be specified for XAML files that are not part of a project. Reopen this XAML file after adding it to a project, close this file and reopen it using the project it is associated with, or modify the clr-namespace to include the name of the assembly.

przestrzeni nazw o których mowa, są częścią projektu. Visual Studio 2008 nie miał problemów z XAML. W związku z tym utworzyłem nowy pusty projekt WPF o nazwie Test1 o przestrzeni nazw wynoszącej Test1. I następnie edytować wygenerowany MainWindow.xaml aby dodać pojedynczy mapowanie dla local:

<Window x:Class="Test1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:Test1" 
    Title="MainWindow" Height="350" Width="525"> 
    <Grid /> 
</Window> 

To daje ten sam błąd. I, co zaskakujące, Google nie zgłasza żadnych wyników błędu! Próbowałem kilku odmian, takich jak dołączanie ;assembly= lub ;assembly=Test1, ale to nie pomogło.

Czy ktoś może zauważyć, co robię źle? Jeśli nic, bardzo doceniam sugestie, dlaczego to może się nie udać.

Edit: Zgodnie komentarzach, okazuje się, że to tylko wtedy, gdy projekt jest otwarty z udziałem sieciowym. Nie występuje, jeśli projekt jest otwarty na dysku lokalnym. Chciałbym jednak móc otworzyć go w udziale sieciowym, więc zamierzam pozostawić to pytanie otwarte.

+1

Co jest warte, nie mogę odtworzyć tego problemu. Wygląda na to, że problemem nie są twoje xmlns, ale raczej z jakiegoś powodu VS uważa, że ​​twój .xaml nie jest częścią projektu. – JustABill

+0

Dziękujemy za próbę skopiowania go JustABill. Pomiędzy testem a brakiem tego błędu w Google, wygląda na dość oczywiste, że VS2010 jest prawdopodobnie uszkodzony w jakiś sposób lub jakiś inny problem specyficzny dla tego systemu programistycznego. – Gregyski

+0

Uruchomiłem udaną naprawę programu Visual Studio 2010 i nie rozwiązało to problemu. – Gregyski

Odpowiedz

5

Miałem ten sam problem, ale znalazłem za pomocą zmapowanego dysku litery zamiast ścieżki UNC działa dla mnie.

Pozdrowienia

Neil Allen

7

Neil Allen ma rację. Zamapuj folder jako dysk i wszystko będzie dobrze. Jak zmapować:

2

Istnieje problem związany z tym programem Connect. W obejściach znajduje się link do czegoś, co możesz spróbować uzyskać, aby to się działo: http://connect.microsoft.com/VisualStudio/feedback/details/568464/wpf-project-on-a-network-share-with-clr-namespace#details

Jest to bezpośredni link do obejścia; http://msdn.microsoft.com/en-us/library/dd409252.aspx

+0

Dzięki Andy. Zbadam to obejście wkrótce, tak jakbym chciał Aby zamknąć to pytanie, mapowanie jako dysku sieciowego nigdy nie było akceptowalnym rozwiązaniem, o czym wielu z nas wie: – Gregyski

+0

Byłbym zainteresowany, gdyby to naprawiło problem, tak jak to opisałem dla każdego. 'do mojego devenv.exe.config w" konfiguracji/uruchomieniu "(* uwaga: edytor tekstu musi być uruchamiany z uprawnieniami administratora *) i przekonwertowałem mój testowy projekt na .NET 4.0, ale to nie zmienił błędu. – Gregyski

0

Podobny problem zdarzył się niektórym w naszej firmie, ponieważ korzystaliśmy z udziału sieciowego dla każdego programisty.

Problem nie wystąpił w przypadku tych, którzy używali zmapowanego dysku sieciowego z zapisanym hasłem do ponownego uruchomienia.

Może to być coś związanego z domeną lub środowiskiem ... a VS to źle działa?

2

Podsumowując wszystkie odpowiedzi w tym poście, ponieważ problem ten był dla mnie również uciążliwy i udało mi się go rozwiązać w następujący sposób.

Po pierwsze, problem tkwi w tym, że projekt nie znajduje się na dysku lokalnym, który powoduje pewne problemy w środowisku Visual Studio.

Aby rozwiązać ten problem:

  1. upewnić się, że projekt jest otwierany za pomocą zmapowany dysk (jak P:/Projects/.../mySolution.sln).Bądź ostrożny, oznacza to, że mapowanie napędu nie jest wystarczające; musisz go otworzyć z zamapowaną ścieżką (z okna eksploratora plików za pomocą zmapowanego dysku). Jeśli nadal ładujesz go za pomocą menu "ostatnie projekty" w VS, ścieżka nadal będzie absolutna.

  2. zmodyfikować plik konfiguracyjny środowisko programistyczne o nazwie devenv.exe.config i dodać <loadFromRemoteSources enabled="true" /> w sekcji configuration/runtime. Ten plik znajduje się na dysku, na którym jest zainstalowany program VS.

Jest bardzo prawdopodobne, że w przypadku napotkania tego problemu, pracujesz w środowisku przedsiębiorstwa, gdzie możesz mieć ograniczony dostęp do lokalnego dysku twardego, co oznacza, że ​​trzeba zadać dział infrastruktury IT, aby zmiany dla ciebie.

Na koniec chciałbym dodać, że pojawią się również problemy z projektami testów jednostkowych, jeśli nie korzystasz z tej poprawki.

Mam nadzieję, że to pomoże.

0

Ścieżka sieciowa była sprawcą w moim przypadku.

Powiązane problemy