2011-11-04 17 views
5

Mam rozwiązanie z jednym plikiem projektu. Wdrażam jako aplikacja ClickOnce. To wszystko działa dobrze i dobrze na moim komputerze, ale gdy próbuję uruchomić go na cudzej otrzymuję ten błądBłąd "Nie można załadować pliku lub zestawu". Działa na moim komputerze, ale nie na innych.

System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. File name: 'System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

System.Windows.Forms.DataVisualization jest w aspekcie załadowany jako odniesienie w moim projekcie i wierzę, że za właściwe używanie instrukcji tam, gdzie kiedykolwiek jest używany.

Kiedy wchodzę do mojego projektu Właściwości> Publikuj> Pliki aplikacji ... System.Windows.Forms.DataVisualization ma obok niego tekst wykrzyknika, który zawiera tekst z podpowiedziami "Ten element nie jest już przywoływany przez projekt. nie jest już potrzebny, można go usunąć, klikając element prawym przyciskiem myszy. " stan publikowania to "Uwzględnij", a hasłem "Uwzględnij". stan publikacji nie jest jednak "Uwzględnij (auto)"; Opcja Wyklucz ma obok siebie tekst automatyczny. Ale niezależnie od tego, czy włączam czy wykluczam, pojawia się ten sam błąd podczas uruchamiania na komputerze innej osoby.

Co sądzisz, co powinienem zrobić, aby uzyskać odpowiedni odnośnik do tego pliku?

Dzięki

Aktualizacja:

Próbowałem ustawienie Local Kopiuj = true, budować odbudować bezskutecznie.

Przejmuję teraz wszystkie inne sugestie. (Jest to długi spacer między mną a komputerem, który nie działa!)

+0

Brzmi jak biblioteka dll nie jest tam, gdzie myślisz, że jest. Jesteś pewny lokalizacji? Czy próbowałeś usunąć referencję i ponownie ją dodać? – Simon

+0

Czy Twój projekt 3.5? – timmy

+1

Czy próbowałeś zainstalować .Net 3.5 na jednym z komputerów, który ma problem? Jeśli tak, myślę, że musisz redystrybuować 'System.Windows.Forms.DataVisualization' w swojej aplikacji, ponieważ myślę, że może nie być częścią podstawowego .Net Framework. Google wydaje się potwierdzać moje przemyślenia ... –

Odpowiedz

1

Ten specyficzny problem został omówiony na MSDN:

http://connect.microsoft.com/VisualStudio/feedback/details/538952/clickonce-cannot-include-system-windows-forms-datavisualization-dll

że punkty posta Sugerowane rozwiązanie:

http://www.thehat.free-online.co.uk/MSChart/

Ogólnie rzecz biorąc, Fuslogvw (przeglądarka dziennika termojądrowego) jest Twoim przyjacielem, rozumiejąc, dlaczego referencje nie mogą być ładowane przez .NET.

Gdy logowanie jest aktywne, strategia używana do wypróbowania i rozwiązania zależności jest rejestrowana, a fuslogvw pozwala zobaczyć strategię.

Uruchom komputer, na którym znajduje się biblioteka DLL, i komputer, na którym się nie znajduje, i porównaj wyniki dziennika.

+0

Plik MSCharts.exe jest poprawny i działa, ale nie mogę go dodać jako prereq. Postępowałem zgodnie z instrukcjami pod linkiem http://www.thehat.free-online.co.uk/MSChart/. bez powodzenia – Brad

+0

Nadal nie mogę uzyskać składnika wykresu, aby pokazać się w Prereqs. Jak mogę przekonać VS do potwierdzenia plików, które utworzyłem za pomocą linku? – Brad

0

Może plik DLL znajduje się w GAC, więc .net go znaleźć. Ale nie wdrażasz go razem z aplikacją i nie działa na innych komputerach. Co możesz zrobić, to znaleźć plik DLL, który doda go jako odniesienie do twojego projektu (ponieważ go zgubisz) i upewnij się, że lokalna kopia jest ustawiona na true.

2

wiem, że to było od czasu opublikowania tego problemu, ale miałem ten sam problem i udało mi się go rozwiązać.

Aby uruchomić aplikację na innych komputerach, zainstalowałem narzędzia Microsoft Chart Controls na innych komputerach - wystarczy pobrać i uruchomić plik MSChart.exe pod numerem http://www.microsoft.com/download/en/details.aspx?id=14422.

+0

To jest ostatecznie to, co musiałem zrobić. Chociaż oznacza to, że użytkownik musi teraz zrestartować ORAZ uruchomić osobną instalację (głównie dlatego, że jeszcze nie wiem, jak z powodzeniem utworzyć instalator). Ogólnie rozczarowująca zmiana z VS2008/.NET3.5 – Brad

0

wystarczy zmienić Wersja w pliku web.comfig

EX: - namespace = "System.Web.UI.DataVisualization.Charting" montaż = "System.Web.DataVisualization, Version = 3.5.0.0, Culture = neutral, TokenKluczaPublicznego = 31bf3856ad364e35"

Powiązane problemy